diff --git a/packages/binary/tangle/model/approvers_old/approvers.go b/packages/binary/tangle/model/approvers_old/approvers.go
deleted file mode 100644
index cf60ce624878a3474d4e2e85093828bc29d4e40e..0000000000000000000000000000000000000000
--- a/packages/binary/tangle/model/approvers_old/approvers.go
+++ /dev/null
@@ -1,163 +0,0 @@
-package approvers_old
-
-import (
-	"encoding/binary"
-	"sync"
-
-	"github.com/iotaledger/goshimmer/packages/binary/tangle/model/transaction"
-	"github.com/iotaledger/goshimmer/packages/binary/types"
-
-	"github.com/iotaledger/hive.go/objectstorage"
-)
-
-type Approvers struct {
-	objectstorage.StorableObjectFlags
-
-	transactionId  transaction.Id
-	approvers      map[transaction.Id]types.Empty
-	approversMutex sync.RWMutex
-}
-
-func New(transactionId transaction.Id) *Approvers {
-	return &Approvers{
-		transactionId: transactionId,
-		approvers:     make(map[transaction.Id]types.Empty),
-	}
-}
-
-// Get's called when we restore the approvers from storage. The bytes and the content will be unmarshaled by an external
-// caller (the objectStorage factory).
-func FromStorage(id []byte) (result objectstorage.StorableObject) {
-	var transactionId transaction.Id
-	copy(transactionId[:], id)
-
-	result = &Approvers{
-		transactionId: transactionId,
-	}
-
-	return
-}
-
-func (approvers *Approvers) GetTransactionId() transaction.Id {
-	return approvers.transactionId
-}
-
-func (approvers *Approvers) Get() (result map[transaction.Id]types.Empty) {
-	approvers.approversMutex.RLock()
-	result = make(map[transaction.Id]types.Empty, len(approvers.approvers))
-	for approverId := range approvers.approvers {
-		result[approverId] = types.Void
-	}
-	approvers.approversMutex.RUnlock()
-
-	return
-}
-
-func (approvers *Approvers) Add(transactionId transaction.Id) (modified bool) {
-	approvers.approversMutex.RLock()
-	if _, exists := approvers.approvers[transactionId]; !exists {
-		approvers.approversMutex.RUnlock()
-
-		approvers.approversMutex.Lock()
-		if _, exists := approvers.approvers[transactionId]; !exists {
-			approvers.approvers[transactionId] = types.Void
-
-			modified = true
-
-			approvers.SetModified()
-		}
-		approvers.approversMutex.Unlock()
-	} else {
-		approvers.approversMutex.RUnlock()
-	}
-
-	return
-}
-
-func (approvers *Approvers) Remove(transactionId transaction.Id) (modified bool) {
-	approvers.approversMutex.RLock()
-	if _, exists := approvers.approvers[transactionId]; exists {
-		approvers.approversMutex.RUnlock()
-
-		approvers.approversMutex.Lock()
-		if _, exists := approvers.approvers[transactionId]; exists {
-			delete(approvers.approvers, transactionId)
-
-			modified = true
-
-			approvers.SetModified()
-		}
-		approvers.approversMutex.Unlock()
-	} else {
-		approvers.approversMutex.RUnlock()
-	}
-
-	return
-}
-
-func (approvers *Approvers) Size() (result int) {
-	approvers.approversMutex.RLock()
-	result = len(approvers.approvers)
-	approvers.approversMutex.RUnlock()
-
-	return
-}
-
-func (approvers *Approvers) GetStorageKey() []byte {
-	transactionId := approvers.GetTransactionId()
-
-	return transactionId[:]
-}
-
-func (approvers *Approvers) Update(other objectstorage.StorableObject) {
-	panic("approvers should never be overwritten and only stored once to optimize IO")
-}
-
-func (approvers *Approvers) MarshalBinary() (result []byte, err error) {
-	approvers.approversMutex.RLock()
-
-	approversCount := len(approvers.approvers)
-	result = make([]byte, 4+approversCount*transaction.IdLength)
-	offset := 0
-
-	binary.LittleEndian.PutUint32(result[offset:], uint32(approversCount))
-	offset += 4
-
-	for approverId := range approvers.approvers {
-		marshaledBytes, marshalErr := approverId.MarshalBinary()
-		if marshalErr != nil {
-			err = marshalErr
-
-			approvers.approversMutex.RUnlock()
-
-			return
-		}
-
-		copy(result[offset:], marshaledBytes)
-		offset += len(marshaledBytes)
-	}
-
-	approvers.approversMutex.RUnlock()
-
-	return
-}
-
-func (approvers *Approvers) UnmarshalBinary(data []byte) (err error) {
-	approvers.approvers = make(map[transaction.Id]types.Empty)
-	offset := 0
-
-	approversCount := int(binary.LittleEndian.Uint32(data[offset:]))
-	offset += 4
-
-	for i := 0; i < approversCount; i++ {
-		var approverId transaction.Id
-		if err = approverId.UnmarshalBinary(data[offset:]); err != nil {
-			return
-		}
-		offset += transaction.IdLength
-
-		approvers.approvers[approverId] = types.Void
-	}
-
-	return
-}
diff --git a/packages/binary/tangle/model/approvers_old/cached_approvers.go b/packages/binary/tangle/model/approvers_old/cached_approvers.go
deleted file mode 100644
index a25526468852d2cced26824b72a66c0fbc388660..0000000000000000000000000000000000000000
--- a/packages/binary/tangle/model/approvers_old/cached_approvers.go
+++ /dev/null
@@ -1,21 +0,0 @@
-package approvers_old
-
-import (
-	"github.com/iotaledger/hive.go/objectstorage"
-)
-
-type CachedApprovers struct {
-	objectstorage.CachedObject
-}
-
-func (cachedObject *CachedApprovers) Unwrap() *Approvers {
-	if untypedObject := cachedObject.Get(); untypedObject == nil {
-		return nil
-	} else {
-		if typedObject := untypedObject.(*Approvers); typedObject == nil || typedObject.IsDeleted() {
-			return nil
-		} else {
-			return typedObject
-		}
-	}
-}