diff --git a/go.mod b/go.mod
index 6e2a8f1dc0d84670f20d8e5a9eaa04f1fc8691fe..bbe4a07eade49b1b9dda5c04e1e2d3e919beafdb 100644
--- a/go.mod
+++ b/go.mod
@@ -10,7 +10,7 @@ require (
 	github.com/googollee/go-engine.io v1.4.3-0.20190924125625-798118fc0dd2
 	github.com/googollee/go-socket.io v1.4.3-0.20191204093753-683f8725b6d0
 	github.com/gorilla/websocket v1.4.1
-	github.com/iotaledger/hive.go v0.0.0-20200326163241-4aa5b4d3b5b0
+	github.com/iotaledger/hive.go v0.0.0-20200328153852-4d06dcf6bf29
 	github.com/iotaledger/iota.go v1.0.0-beta.14
 	github.com/labstack/echo v3.3.10+incompatible
 	github.com/labstack/gommon v0.3.0 // indirect
diff --git a/go.sum b/go.sum
index 8d8852706d3a11f80a7bb8235c4f93cdb3512692..06874594975f900add465032d03412e5b4bb0618 100644
--- a/go.sum
+++ b/go.sum
@@ -130,8 +130,8 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
 github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/iotaledger/hive.go v0.0.0-20200326163241-4aa5b4d3b5b0 h1:ADYgndjbLPrCxxoCfHItxb6RjB3dzFxHlQ+mrqk16g8=
-github.com/iotaledger/hive.go v0.0.0-20200326163241-4aa5b4d3b5b0/go.mod h1:4sloxRutRhCuXgAgtOu1ZxVM95Na+ovK9MRDEQGZlzw=
+github.com/iotaledger/hive.go v0.0.0-20200328153852-4d06dcf6bf29 h1:rKw/dp9FnM15e4lzEYwcpxX1lHE0Q06XeIgPskzF9vA=
+github.com/iotaledger/hive.go v0.0.0-20200328153852-4d06dcf6bf29/go.mod h1:4sloxRutRhCuXgAgtOu1ZxVM95Na+ovK9MRDEQGZlzw=
 github.com/iotaledger/iota.go v1.0.0-beta.9/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
 github.com/iotaledger/iota.go v1.0.0-beta.14 h1:Oeb28MfBuJEeXcGrLhTCJFtbsnc8y1u7xidsAmiOD5A=
 github.com/iotaledger/iota.go v1.0.0-beta.14/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
diff --git a/packages/binary/messagelayer/message/message.go b/packages/binary/messagelayer/message/message.go
index 26064030541f24fe5897faa10859710e44a02fc8..87f0fc8b1a8ceb32c3c061d5c830f2dd2098f7bf 100644
--- a/packages/binary/messagelayer/message/message.go
+++ b/packages/binary/messagelayer/message/message.go
@@ -261,7 +261,9 @@ func (transaction *Message) UnmarshalObjectStorageValue(data []byte) (err error,
 	if transaction.branchTransactionId, err = ParseId(marshalUtil); err != nil {
 		return
 	}
-	// TODO PARSE PUBLIC KEY
+	if transaction.issuerPublicKey, err = ed25519.ParsePublicKey(marshalUtil); err != nil {
+		return
+	}
 	if transaction.issuingTime, err = marshalUtil.ReadTime(); err != nil {
 		return
 	}
@@ -271,7 +273,9 @@ func (transaction *Message) UnmarshalObjectStorageValue(data []byte) (err error,
 	if transaction.payload, err = payload.Parse(marshalUtil); err != nil {
 		return
 	}
-	// TODO PARSE SIGNATURE
+	if transaction.signature, err = ed25519.ParseSignature(marshalUtil); err != nil {
+		return
+	}
 
 	// return the number of bytes we processed
 	consumedBytes = marshalUtil.ReadOffset()
diff --git a/packages/gossip/neighbor_test.go b/packages/gossip/neighbor_test.go
index bde828f529241e35c798efa5ff52dfe002e833d4..841ed0dd9ca35478abd3fb55074fd2f17f6ce62e 100644
--- a/packages/gossip/neighbor_test.go
+++ b/packages/gossip/neighbor_test.go
@@ -131,7 +131,7 @@ func newTestPeer(name string, conn net.Conn) *peer.Peer {
 	var publicKey ed25519.PublicKey
 	copy(publicKey[:], name)
 
-	return peer.NewPeer(identity.NewIdentity(publicKey), net.IPv4zero, services)
+	return peer.NewPeer(identity.New(publicKey), net.IPv4zero, services)
 }
 
 func newPipe() (net.Conn, net.Conn, func()) {
diff --git a/plugins/autopeering/autopeering.go b/plugins/autopeering/autopeering.go
index 460bacd8ae879cdc41210e034bf19bf1fe4b0c59..dcbeefd3350162221a24217e0c593ec63811bf78 100644
--- a/plugins/autopeering/autopeering.go
+++ b/plugins/autopeering/autopeering.go
@@ -171,7 +171,7 @@ func parseEntryNodes() (result []*peer.Peer, err error) {
 		services := service.New()
 		services.Update(service.PeeringKey, addr.Network(), addr.Port)
 
-		result = append(result, peer.NewPeer(identity.NewIdentity(publicKey), addr.IP, services))
+		result = append(result, peer.NewPeer(identity.New(publicKey), addr.IP, services))
 	}
 
 	return result, nil