diff --git a/pysollib/kpat_load_save.py b/pysollib/kpat_load_save.py
index 21ff79ca..4180cabb 100644
--- a/pysollib/kpat_load_save.py
+++ b/pysollib/kpat_load_save.py
@@ -45,3 +45,10 @@ class KpatXmlEmitter:
"""docstring for endTag"""
self._indent -= 1
self._ind_out("{}>\n".format(self._tags.pop()['name']))
+
+ def writeCard(self, card, turn=None):
+ """docstring for writeCard"""
+ self.writeEmptyTag(
+ "card",
+ [("id", str(card.id)), ("suit", "clubs"), ("rank", "ace")] +
+ ([("turn", turn)] if turn else []))
diff --git a/tests/lib/pysol_tests/kpat_load_save.py b/tests/lib/pysol_tests/kpat_load_save.py
index bb15042a..13ed95a2 100644
--- a/tests/lib/pysol_tests/kpat_load_save.py
+++ b/tests/lib/pysol_tests/kpat_load_save.py
@@ -1,6 +1,7 @@
# Written by Shlomi Fish, under the MIT Expat License.
import unittest
+from pysollib.acard import AbstractCard
from pysollib.kpat_load_save import KpatXmlEmitter
from six.moves import cStringIO
@@ -46,3 +47,15 @@ class MyTests(unittest.TestCase):
+ "\t\t\n"
+ "\t\n"
+ "\n")
+
+ def test_write_card(self):
+ f = cStringIO()
+ e = KpatXmlEmitter(f)
+ self.assertTrue(e)
+ e.writeCard(card=AbstractCard(1001, 0, 0, 1, 3001), turn="face-up")
+ self.assertEqual(
+ f.getvalue(),
+ "\n"
+ + "\n"
+ )