diff --git a/_ucoinpy_test/documents/test_block.py b/_ucoinpy_test/documents/test_block.py
index 7eb4431974531c39f516f868cedd8bbb9d39e17c..856c0c45f0bfd7d0cbe5f7da08305438311c951d 100644
--- a/_ucoinpy_test/documents/test_block.py
+++ b/_ucoinpy_test/documents/test_block.py
@@ -115,7 +115,7 @@ class Test_Block:
         assert len(block.certifications) == 12
         assert block.transactions == []
 
-    def test_to_raw_from_signed_raw(self):
+    def test_toraw_fromsignedraw(self):
         block = Block.from_signed_raw(raw_block)
         rendered_raw = block.signed_raw()
         from_rendered_raw = Block.from_signed_raw(rendered_raw)
@@ -139,7 +139,7 @@ class Test_Block:
         assert from_rendered_raw.certifications == []
         assert from_rendered_raw.transactions == []
 
-    def test_to_raw_from_signed_raw_zero(self):
+    def test_toraw_fromrawzero(self):
         block = Block.from_signed_raw(raw_block_zero)
         rendered_raw = block.signed_raw()
         from_rendered_raw = block.from_signed_raw(rendered_raw)
diff --git a/_ucoinpy_test/documents/test_certification.py b/_ucoinpy_test/documents/test_certification.py
index e2cf72781c57bdd2552aadddcf3302b0eb828d6f..5f0f90d1c3c431d641fcc866f7ee0e24dcb87dba 100644
--- a/_ucoinpy_test/documents/test_certification.py
+++ b/_ucoinpy_test/documents/test_certification.py
@@ -58,6 +58,3 @@ class Test_SelfCertification:
         assert cert.blocknumber == 0
         assert cert.blockhash == blockhash
         assert cert.signatures[0] == "qn/XNJjaGIwfnR+wGrDME6YviCQbG+ywsQWnETlAsL6q7o3k1UhpR5ZTVY9dvejLKuC+1mUEXVTmH+8Ib55DBA=="
-
-
-
diff --git a/_ucoinpy_test/documents/test_membership.py b/_ucoinpy_test/documents/test_membership.py
index 5cf246bbb4d48ef18e365dfa2af799b91e344501..ed4fdd7bbb045d83a8400fc8b379e0979a61535b 100644
--- a/_ucoinpy_test/documents/test_membership.py
+++ b/_ucoinpy_test/documents/test_membership.py
@@ -43,3 +43,17 @@ class Test_Membership:
         assert membership.uid == "cgeek"
         assert membership.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
         assert membership.membership_type == 'IN'
+
+    def test_fromraw_toraw(self):
+        membership = Membership.from_signed_raw(membership_raw)
+        rendered_membership = membership.signed_raw()
+        from_rendered_membership = Membership.from_signed_raw(rendered_membership)
+        assert from_rendered_membership.issuer == "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk"
+        assert from_rendered_membership.block_number == 0
+        assert from_rendered_membership.block_hash == "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709"
+        assert from_rendered_membership.cert_ts == 1416335620
+        assert from_rendered_membership.uid == "cgeek"
+        assert from_rendered_membership.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
+        assert from_rendered_membership.membership_type == 'IN'
+
+
diff --git a/_ucoinpy_test/documents/test_peer.py b/_ucoinpy_test/documents/test_peer.py
index b9e62385163472a26cc078f2e13a5daafa8ba986..7461fbf172fb5b1dc5d5eff0378a2575c69cf219 100644
--- a/_ucoinpy_test/documents/test_peer.py
+++ b/_ucoinpy_test/documents/test_peer.py
@@ -43,3 +43,29 @@ class TestPeer:
 
         assert peer.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
 
+    def test_fromraw_toraw(self):
+        peer = Peer.from_signed_raw(rawpeer)
+        rendered_peer = peer.signed_raw()
+        from_rendered_peer = Peer.from_signed_raw(rendered_peer)
+
+        assert from_rendered_peer.currency == "beta_brousouf"
+        assert from_rendered_peer.pubkey == "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY"
+        assert from_rendered_peer.blockid == "8-1922C324ABC4AF7EF7656734A31F5197888DDD52"
+        assert len(from_rendered_peer.endpoints) == 3
+        assert type(from_rendered_peer.endpoints[0]) is BMAEndpoint
+        assert type(from_rendered_peer.endpoints[1]) is BMAEndpoint
+        assert type(from_rendered_peer.endpoints[2]) is UnknownEndpoint
+
+        assert from_rendered_peer.endpoints[0].server == "some.dns.name"
+        assert from_rendered_peer.endpoints[0].ipv4 == "88.77.66.55"
+        assert from_rendered_peer.endpoints[0].ipv6 == "2001:0db8:0000:85a3:0000:0000:ac1f"
+        assert from_rendered_peer.endpoints[0].port == 9001
+
+        assert from_rendered_peer.endpoints[1].server == "some.dns.name"
+        assert from_rendered_peer.endpoints[1].ipv4 == "88.77.66.55"
+        assert from_rendered_peer.endpoints[1].ipv6 == "2001:0db8:0000:85a3:0000:0000:ac1f"
+        assert from_rendered_peer.endpoints[1].port == 9002
+
+        assert from_rendered_peer.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
+
+
diff --git a/_ucoinpy_test/documents/test_status.py b/_ucoinpy_test/documents/test_status.py
index 2e85e07847f3e1a3f10030122a27d7a65156872a..912db761c0b538420de82c89fba8970c816b8c42 100644
--- a/_ucoinpy_test/documents/test_status.py
+++ b/_ucoinpy_test/documents/test_status.py
@@ -26,3 +26,13 @@ class Test_Status:
         assert status.recipient == "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU"
         assert status.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
 
+    def test_fromraw_toraw(self):
+        status = Status.from_signed_raw(raw_status)
+        rendered_status = status.signed_raw()
+        from_rendered_status = Status.from_signed_raw(rendered_status)
+        assert from_rendered_status.status == 'UP'
+        assert from_rendered_status.blockid == "8-1922C324ABC4AF7EF7656734A31F5197888DDD52"
+        assert from_rendered_status.sender == "HsLShAtzXTVxeUtQd7yi5Z5Zh4zNvbu8sTEZ53nfKcqY"
+        assert from_rendered_status.recipient == "8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU"
+        assert from_rendered_status.signatures[0] == "dkaXIiCYUJtCg8Feh/BKvPYf4uFH9CJ/zY6J4MlA9BsjmcMe4YAblvNt/gJy31b1aGq3ue3h14mLMCu84rraDg=="
+
diff --git a/ucoinpy/documents/membership.py b/ucoinpy/documents/membership.py
index 7dae36ca29931d188cf96bdb20ca61d2c28ea7b8..3f142a7f00147424641f6ca65a91b73ae2dc38f9 100644
--- a/ucoinpy/documents/membership.py
+++ b/ucoinpy/documents/membership.py
@@ -100,15 +100,15 @@ class Membership(Document):
                    membership_type, uid, cert_ts, signature)
 
     def raw(self):
-        return """
-Version: {0}
+        return """Version: {0}
 Type: Membership
 Currency: {1}
 Issuer: {2}
 Block: {3}-{4}
 Membership: {5}
 UserID: {6}
-CertTS: {7}""".format(self.version,
+CertTS: {7}
+""".format(self.version,
                       self.currency,
                       self.issuer,
                       self.block_number, self.block_hash,
diff --git a/ucoinpy/documents/peer.py b/ucoinpy/documents/peer.py
index 50eb939a72a953ae820e03abe0035d681bc04ea1..1148785aaf6256d6865bd122ee7bdab05ece09ba 100644
--- a/ucoinpy/documents/peer.py
+++ b/ucoinpy/documents/peer.py
@@ -74,8 +74,7 @@ class Peer(Document):
         return cls(version, currency, pubkey, blockid, endpoints, signature)
 
     def raw(self):
-        doc = """
-Version: {0}
+        doc = """Version: {0}
 Type: Peer
 Currency: {1}
 PublicKey: {2}
@@ -116,6 +115,12 @@ class UnknownEndpoint(Endpoint):
         properties = inline.split()[1:]
         return cls(api, properties)
 
+    def inline(self):
+        doc = self.api
+        for p in self.properties:
+            doc += " {0}".format(p)
+        return doc
+
 
 class BMAEndpoint(Endpoint):
     re_inline = re.compile('^BASIC_MERKLED_API(?: ([a-z_][a-z0-9-_.]+))?(?: ([0-9.]+))?(?: ([0-9a-f:]+))?(?: ([0-9]+))$')
diff --git a/ucoinpy/documents/status.py b/ucoinpy/documents/status.py
index 21df9013d33538a6422f00eee271983e8cf3473e..5b25bfae0e826d84d678a3676281e2b9f2185b09 100644
--- a/ucoinpy/documents/status.py
+++ b/ucoinpy/documents/status.py
@@ -73,8 +73,7 @@ class Status(Document):
                    sender, recipient, signature)
 
     def raw(self):
-        return '''
-Version: {0}
+        return '''Version: {0}
 Type: Status
 Currency: {1}
 Status: {2}