diff --git a/go.mod b/go.mod
index afa2906d340690bd313143758cb9eebea0bae2a2..a2e098d1b295c97143fc9271537d5767698b47dd 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
 	github.com/golang/protobuf v1.3.2 // indirect
 	github.com/google/open-location-code/go v0.0.0-20190903173953-119bc96a3a51
 	github.com/gorilla/websocket v1.4.1
-	github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172
+	github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885
 	github.com/iotaledger/iota.go v1.0.0-beta.9
 	github.com/kr/text v0.1.0
 	github.com/labstack/echo v3.3.10+incompatible
diff --git a/go.sum b/go.sum
index ab78d117665377fc563d08c1760d5f0fe70d16f8..ff2be2016d19ed5c2b0601e999d12b0c3e678219 100644
--- a/go.sum
+++ b/go.sum
@@ -114,6 +114,8 @@ github.com/iotaledger/hive.go v0.0.0-20200131142821-bdca7883742d h1:3uYitVVvpt/v
 github.com/iotaledger/hive.go v0.0.0-20200131142821-bdca7883742d/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
 github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172 h1:QuckesiAtCzfxkxndNaerpeW0AKmxciZtApyjNwe7s4=
 github.com/iotaledger/hive.go v0.0.0-20200131164002-e50853dd9172/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
+github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885 h1:MAD62T49q1AnoybapTCnlqIFfFv2fs0GmKgn7IcR+oA=
+github.com/iotaledger/hive.go v0.0.0-20200203224255-313f831d7885/go.mod h1:wj3bFHlcX0NiEOWu5+WOg/MI/5N7PKCFnyaziaylB64=
 github.com/iotaledger/iota.go v1.0.0-beta.9 h1:c654s9pkdhMBkABUvWg+6k91MEBbdtmZXP1xDfQpajg=
 github.com/iotaledger/iota.go v1.0.0-beta.9/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
diff --git a/packages/binary/bytesfilter/bytes_filter.go b/packages/binary/bytesfilter/bytes_filter.go
deleted file mode 100644
index e434eef8d58ddd0f7746876ea4ca32c1e1a38962..0000000000000000000000000000000000000000
--- a/packages/binary/bytesfilter/bytes_filter.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package bytesfilter
-
-import (
-	"sync"
-
-	"github.com/iotaledger/hive.go/typeutils"
-
-	"github.com/iotaledger/goshimmer/packages/binary/types"
-)
-
-type BytesFilter struct {
-	byteArrays [][]byte
-	bytesByKey map[string]types.Empty
-	size       int
-	mutex      sync.RWMutex
-}
-
-func New(size int) *BytesFilter {
-	return &BytesFilter{
-		byteArrays: make([][]byte, 0, size),
-		bytesByKey: make(map[string]types.Empty, size),
-		size:       size,
-	}
-}
-
-func (bytesFilter *BytesFilter) Add(bytes []byte) bool {
-	key := typeutils.BytesToString(bytes)
-
-	bytesFilter.mutex.Lock()
-
-	if _, exists := bytesFilter.bytesByKey[key]; !exists {
-		if len(bytesFilter.byteArrays) == bytesFilter.size {
-			delete(bytesFilter.bytesByKey, typeutils.BytesToString(bytesFilter.byteArrays[0]))
-
-			bytesFilter.byteArrays = append(bytesFilter.byteArrays[1:], bytes)
-		} else {
-			bytesFilter.byteArrays = append(bytesFilter.byteArrays, bytes)
-		}
-
-		bytesFilter.bytesByKey[key] = types.Void
-
-		bytesFilter.mutex.Unlock()
-
-		return true
-	} else {
-		bytesFilter.mutex.Unlock()
-
-		return false
-	}
-}
-
-func (bytesFilter *BytesFilter) Contains(byteArray []byte) (exists bool) {
-	bytesFilter.mutex.RLock()
-	_, exists = bytesFilter.bytesByKey[typeutils.BytesToString(byteArray)]
-	bytesFilter.mutex.RUnlock()
-
-	return
-}
diff --git a/packages/binary/bytesfilter/bytes_filter_test.go b/packages/binary/bytesfilter/bytes_filter_test.go
deleted file mode 100644
index 1b928ffeb32647839fd30aae4e47451c534e2f0c..0000000000000000000000000000000000000000
--- a/packages/binary/bytesfilter/bytes_filter_test.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package bytesfilter
-
-import (
-	"testing"
-)
-
-func BenchmarkAdd(b *testing.B) {
-	filter, bytesFilter := setupTest(15000, 1604)
-
-	b.ResetTimer()
-
-	for i := 0; i < b.N; i++ {
-		filter.Add(bytesFilter)
-	}
-}
-
-func BenchmarkContains(b *testing.B) {
-	filter, bytesFilter := setupTest(15000, 1604)
-
-	b.ResetTimer()
-
-	for i := 0; i < b.N; i++ {
-		filter.Contains(bytesFilter)
-	}
-}
-
-func setupTest(filterSize int, byteArraySize int) (*BytesFilter, []byte) {
-	filter := New(filterSize)
-
-	for j := 0; j < filterSize; j++ {
-		byteArray := make([]byte, byteArraySize)
-
-		for i := 0; i < len(byteArray); i++ {
-			byteArray[(i+j)%byteArraySize] = byte((i + j) % 128)
-		}
-
-		filter.Add(byteArray)
-	}
-
-	byteArray := make([]byte, byteArraySize)
-
-	for i := 0; i < len(byteArray); i++ {
-		byteArray[i] = byte(i % 128)
-	}
-
-	return filter, byteArray
-}
diff --git a/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go b/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
index 1e8f93c033023e4570000189874f8a6a9fe34dcc..c0a6002f0cdadf0290cbab19057bba3f6c3536d4 100644
--- a/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
+++ b/packages/binary/transactionparser/builtinfilters/recently_seen_bytes_filter.go
@@ -4,8 +4,7 @@ import (
 	"sync"
 
 	"github.com/iotaledger/hive.go/async"
-
-	"github.com/iotaledger/goshimmer/packages/binary/bytesfilter"
+	"github.com/iotaledger/hive.go/bytesfilter"
 )
 
 type RecentlySeenBytesFilter struct {
diff --git a/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go b/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
index b3ae899952afe986ec0579fc69c5673b2b1edd5d..9160d821cfa2ff6c1d1946ca34953010f8ddf38b 100644
--- a/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
+++ b/packages/binary/transactionparser/builtinfilters/transaction_signature_filter.go
@@ -3,8 +3,9 @@ package builtinfilters
 import (
 	"sync"
 
-	"github.com/iotaledger/goshimmer/packages/binary/tangle/model/transaction"
 	"github.com/iotaledger/hive.go/async"
+
+	"github.com/iotaledger/goshimmer/packages/binary/tangle/model/transaction"
 )
 
 type TransactionSignatureFilter struct {