diff --git a/controller/nucleus/databaseDeviceStore.go b/controller/nucleus/databaseDeviceStore.go
index 530bbec1e615698430d54e73aeca00291c2b96ec..4fe9af32e1dbcddd0a5fe2767b6415858404522d 100644
--- a/controller/nucleus/databaseDeviceStore.go
+++ b/controller/nucleus/databaseDeviceStore.go
@@ -65,7 +65,7 @@ func (s *DatabaseDeviceStore) getByID(idOfDevice uuid.UUID) (device.LoadedDevice
 	err := result.Decode(&loadedDevice)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedDevice, errors.ErrCouldNotMarshall{StoreName: s.storeName}
+		return loadedDevice, errors.ErrCouldNotMarshall{Identifier: idOfDevice, Type: loadedDevice, Err: err}
 	}
 
 	return loadedDevice, nil
@@ -88,7 +88,7 @@ func (s *DatabaseDeviceStore) getByName(nameOfDevice string) (device.LoadedDevic
 	err := result.Decode(&loadedDevice)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedDevice, errors.ErrCouldNotMarshall{StoreName: s.storeName}
+		return loadedDevice, errors.ErrCouldNotMarshall{Identifier: nameOfDevice, Type: loadedDevice, Err: err}
 	}
 
 	return loadedDevice, nil
@@ -114,7 +114,7 @@ func (s *DatabaseDeviceStore) GetAll() ([]device.LoadedDevice, error) {
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName}
+		return nil, errors.ErrCouldNotMarshall{Type: loadedDevices, Err: err}
 	}
 
 	return loadedDevices, nil
@@ -131,7 +131,7 @@ func (s *DatabaseDeviceStore) Add(deviceToAdd device.Device) error {
 		InsertOne(ctx, deviceToAdd)
 	if err != nil {
 		log.Printf("Could not create Device: %v", err)
-		return errors.ErrCouldNotCreate{StoreName: pndStoreName}
+		return errors.ErrCouldNotCreate{Identifier: deviceToAdd.ID(), Type: deviceToAdd, Err: err}
 	}
 
 	return nil
@@ -162,7 +162,7 @@ func (s *DatabaseDeviceStore) Update(deviceToUpdate device.Device) error {
 	if err != nil {
 		log.Printf("Could not update Device: %v", err)
 
-		return errors.ErrCouldNotUpdate{StoreName: pndStoreName}
+		return errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err}
 	}
 
 	return nil
@@ -178,7 +178,7 @@ func (s *DatabaseDeviceStore) Delete(deviceToDelete device.Device) error {
 	collection := db.Collection(s.storeName)
 	_, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: deviceToDelete.ID().String()}})
 	if err != nil {
-		return err
+		return errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err}
 	}
 
 	return nil
diff --git a/controller/nucleus/databasePndStore.go b/controller/nucleus/databasePndStore.go
index f39ef113893bb3b75ee52a517a6a3d05ab9fcc51..62d9b29e5022a86aa6c69ffc2464394c82948531 100644
--- a/controller/nucleus/databasePndStore.go
+++ b/controller/nucleus/databasePndStore.go
@@ -44,7 +44,7 @@ func (s *DatabasePndStore) Get(query store.Query) (networkdomain.NetworkDomain,
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName}
+		return nil, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedPND, Err: err}
 	}
 
 	csbiClient, err := s.getCsbiClient()
@@ -87,7 +87,7 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) {
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: pndStoreName}
+		return nil, errors.ErrCouldNotMarshall{Type: loadedPnds, Err: err}
 	}
 
 	csbiClient, err := s.getCsbiClient()
@@ -114,16 +114,16 @@ func (s *DatabasePndStore) GetAll() ([]networkdomain.NetworkDomain, error) {
 }
 
 // Add adds a pnd to the pnd store.
-func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error {
+func (s *DatabasePndStore) Add(pndToAdd networkdomain.NetworkDomain) error {
 	client, ctx, cancel := database.GetMongoConnection()
 	defer cancel()
 	defer client.Disconnect(ctx)
 
 	_, err := client.Database(database.DatabaseName).
 		Collection(s.pndStoreName).
-		InsertOne(ctx, pnd)
+		InsertOne(ctx, pndToAdd)
 	if err != nil {
-		return errors.ErrCouldNotCreate{StoreName: pndStoreName}
+		return errors.ErrCouldNotCreate{Identifier: pndToAdd.ID(), Type: pndToAdd, Err: err}
 	}
 
 	return nil
@@ -131,16 +131,16 @@ func (s *DatabasePndStore) Add(pnd networkdomain.NetworkDomain) error {
 
 // Delete deletes a pnd.
 // It also deletes all assosicated devices and sbis.
-func (s *DatabasePndStore) Delete(pnd networkdomain.NetworkDomain) error {
+func (s *DatabasePndStore) Delete(pndToDelete networkdomain.NetworkDomain) error {
 	client, ctx, cancel := database.GetMongoConnection()
 	defer cancel()
 	defer client.Disconnect(ctx)
 
 	db := client.Database(database.DatabaseName)
 	collection := db.Collection(s.pndStoreName)
-	_, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: pnd.ID().String()}})
+	_, err := collection.DeleteOne(ctx, bson.D{primitive.E{Key: pndToDelete.ID().String()}})
 	if err != nil {
-		return err
+		return errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err}
 	}
 
 	// TODO: Delete all assosicated devices + SBIs
diff --git a/controller/nucleus/databaseSbiStore.go b/controller/nucleus/databaseSbiStore.go
index 43a1bca99887df3407eaccbeb23b88e14be5076d..b472b834e26d824c49e190bbcc7b564a2019d78a 100644
--- a/controller/nucleus/databaseSbiStore.go
+++ b/controller/nucleus/databaseSbiStore.go
@@ -18,36 +18,36 @@ type DatabaseSbiStore struct {
 }
 
 // Add adds a SBI.
-func (s *DatabaseSbiStore) Add(item southbound.SouthboundInterface) error {
+func (s *DatabaseSbiStore) Add(sbiToAdd southbound.SouthboundInterface) error {
 	client, ctx, cancel := database.GetMongoConnection()
 	defer cancel()
 	defer client.Disconnect(ctx)
 
 	_, err := client.Database(database.DatabaseName).
 		Collection(s.sbiStoreName).
-		InsertOne(ctx, item)
+		InsertOne(ctx, sbiToAdd)
 	if err != nil {
 		if mongo.IsDuplicateKeyError(err) {
 			return nil
 		}
 
-		return errors.ErrCouldNotCreate{StoreName: sbiStoreName}
+		return errors.ErrCouldNotCreate{Identifier: sbiToAdd.ID(), Type: sbiToAdd, Err: err}
 	}
 
 	return nil
 }
 
 // Delete deletes an SBI.
-func (s *DatabaseSbiStore) Delete(item southbound.SouthboundInterface) error {
+func (s *DatabaseSbiStore) Delete(sbiToDelete southbound.SouthboundInterface) error {
 	client, ctx, cancel := database.GetMongoConnection()
 	defer cancel()
 	defer client.Disconnect(ctx)
 
 	_, err := client.Database(database.DatabaseName).
 		Collection(s.sbiStoreName).
-		DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: item.ID().String()}})
+		DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: sbiToDelete.ID().String()}})
 	if err != nil {
-		return errors.ErrCouldNotDelete{StoreName: sbiStoreName}
+		return errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err}
 	}
 
 	return nil
@@ -75,7 +75,7 @@ func (s *DatabaseSbiStore) Get(query store.Query) (southbound.LoadedSbi, error)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return loadedSbi, errors.ErrCouldNotMarshall{StoreName: sbiStoreName}
+		return loadedSbi, errors.ErrCouldNotMarshall{Identifier: query.ID, Type: loadedSbi, Err: err}
 	}
 
 	return loadedSbi, nil
@@ -101,7 +101,7 @@ func (s *DatabaseSbiStore) GetAll() ([]southbound.LoadedSbi, error) {
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: sbiStoreName}
+		return nil, errors.ErrCouldNotMarshall{Type: loadedSbis, Err: err}
 	}
 
 	return loadedSbis, nil
diff --git a/controller/nucleus/deviceFilesystemStore.go b/controller/nucleus/deviceFilesystemStore.go
index 76f50dd2eca4fe210c96cf23cd95f76c1394fadb..503cef11497ffacb25fd78bd6a38bbbcbd678bf6 100644
--- a/controller/nucleus/deviceFilesystemStore.go
+++ b/controller/nucleus/deviceFilesystemStore.go
@@ -142,7 +142,7 @@ func (s *FilesystemDeviceStore) Update(deviceToUpdate device.Device) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: deviceToUpdate.ID().String(), Name: deviceToUpdate.Name()}
+	return &errors.ErrCouldNotUpdate{Identifier: deviceToUpdate.ID(), Type: deviceToUpdate, Err: err}
 }
 
 // Delete deletes a device from the device store.
@@ -170,5 +170,5 @@ func (s *FilesystemDeviceStore) Delete(deviceToDelete device.Device) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: deviceToDelete.ID, Name: deviceToDelete.Name()}
+	return &errors.ErrCouldNotDelete{Identifier: deviceToDelete.ID(), Type: deviceToDelete, Err: err}
 }
diff --git a/controller/nucleus/errors/errors.go b/controller/nucleus/errors/errors.go
index eac05eb448f53a654dd3acede79c215a70b4932f..db262595f4543e6c17108dc3953760a0b1b37d16 100644
--- a/controller/nucleus/errors/errors.go
+++ b/controller/nucleus/errors/errors.go
@@ -162,21 +162,25 @@ func (e ErrTypeNotSupported) Error() string {
 // ErrCouldNotMarshall implements Error interface and is called if a
 // database respone can not be parsed.
 type ErrCouldNotMarshall struct {
-	StoreName string
+	Identifier any
+	Type       any
+	Err        error
 }
 
 func (e ErrCouldNotMarshall) Error() string {
-	return fmt.Sprintf("could not marshall %s", e.StoreName)
+	return fmt.Sprintf("could not marshall Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
 }
 
 // ErrCouldNotUpdate implements the Error interface and is called if a
 // stored item can not be updated.
 type ErrCouldNotUpdate struct {
-	StoreName string
+	Identifier any
+	Type       any
+	Err        error
 }
 
 func (e ErrCouldNotUpdate) Error() string {
-	return fmt.Sprintf("could not update %s", e.StoreName)
+	return fmt.Sprintf("could not update Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
 }
 
 // ErrCouldNotFind implements the Error interface and is called if a
@@ -193,21 +197,25 @@ func (e ErrCouldNotFind) Error() string {
 // ErrCouldNotCreate implements the Error interface and is called if a
 // stored item can not be found.
 type ErrCouldNotCreate struct {
-	StoreName string
+	Identifier any
+	Type       any
+	Err        error
 }
 
 func (e ErrCouldNotCreate) Error() string {
-	return fmt.Sprintf("could not create %s", e.StoreName)
+	return fmt.Sprintf("could not create Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
 }
 
 // ErrCouldNotDelete implements the Error interface and is called if a
 // stored item can not be deleted.
 type ErrCouldNotDelete struct {
-	StoreName string
+	Identifier any
+	Type       any
+	Err        error
 }
 
 func (e ErrCouldNotDelete) Error() string {
-	return fmt.Sprintf("could not delete %s", e.StoreName)
+	return fmt.Sprintf("could not delete Identifier: %v of Type: %T, Internal error: %v", e.Identifier, e.Type, e.Err)
 }
 
 // ErrNoNewChanges implements the Error interface and is called if a the
diff --git a/controller/nucleus/memorySbiStore.go b/controller/nucleus/memorySbiStore.go
index d1f69e12a7e1cd6a58405484aa59d8f531d38922..82a27673032322b2e2c86c13bfed2171164a2ed7 100644
--- a/controller/nucleus/memorySbiStore.go
+++ b/controller/nucleus/memorySbiStore.go
@@ -85,7 +85,7 @@ func (t *MemorySbiStore) Get(query store.Query) (southbound.LoadedSbi, error) {
 		// Second search for name
 		id, ok := t.nameLookupTable[query.Name]
 		if !ok {
-			return item, errors.ErrCouldNotDelete{StoreName: sbiStoreName}
+			return item, errors.ErrCouldNotFind{ID: query.ID, Name: query.Name}
 		}
 
 		item, ok := t.Store[id]
diff --git a/controller/nucleus/pndFilesystemStore.go b/controller/nucleus/pndFilesystemStore.go
index 81d243b7b170dff327e2e93581a6838532cff322..867d654395359fb7d58a8f3f6c901e93d5cc2524 100644
--- a/controller/nucleus/pndFilesystemStore.go
+++ b/controller/nucleus/pndFilesystemStore.go
@@ -87,7 +87,7 @@ func (t *FilesystemPndStore) writeAllPndsToFile(pnds []networkdomain.NetworkDoma
 }
 
 // Add a pnd to the store.
-func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error {
+func (t *FilesystemPndStore) Add(pndToAdd networkdomain.NetworkDomain) error {
 	t.fileMutex.Lock()
 	defer t.fileMutex.Unlock()
 
@@ -96,7 +96,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error {
 		return err
 	}
 
-	pnds = append(pnds, item)
+	pnds = append(pnds, pndToAdd)
 
 	err = t.writeAllPndsToFile(pnds)
 	if err != nil {
@@ -107,7 +107,7 @@ func (t *FilesystemPndStore) Add(item networkdomain.NetworkDomain) error {
 }
 
 // Delete deletes a pnd from the store.
-func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error {
+func (t *FilesystemPndStore) Delete(pndToDelete networkdomain.NetworkDomain) error {
 	t.fileMutex.Lock()
 	defer t.fileMutex.Unlock()
 
@@ -117,7 +117,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error {
 	}
 
 	for i, pnd := range pnds {
-		if pnd.ID() == item.ID() {
+		if pnd.ID() == pndToDelete.ID() {
 			//remove item from slice
 			pnds[i] = pnds[len(pnds)-1]
 			pnds = pnds[:len(pnds)-1]
@@ -131,7 +131,7 @@ func (t *FilesystemPndStore) Delete(item networkdomain.NetworkDomain) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: item.ID, Name: item.GetName()}
+	return &errors.ErrCouldNotDelete{Identifier: pndToDelete.ID(), Type: pndToDelete, Err: err}
 }
 
 // Get provides a the query interface to find a stored pnd.
diff --git a/controller/nucleus/pndStore.go b/controller/nucleus/pndStore.go
index 876e03742f71b2503aa6fb60bb629df00ee7d5a4..0beb13b4c5009dccd3fd8c2c35fb4f68401a273e 100644
--- a/controller/nucleus/pndStore.go
+++ b/controller/nucleus/pndStore.go
@@ -8,10 +8,6 @@ import (
 	log "github.com/sirupsen/logrus"
 )
 
-const (
-	pndStoreName = "pnd"
-)
-
 // LoadedPnd represents a Principal Network Domain that was loaeded by using
 // the Load() method of the PndStore.
 type LoadedPnd struct {
diff --git a/controller/nucleus/sbiFilesystemStore.go b/controller/nucleus/sbiFilesystemStore.go
index 9859549f61a967489d5a48794979ee7a3c1463b7..f4558ce6f801609fe885decce44a4fd340c3b3d5 100644
--- a/controller/nucleus/sbiFilesystemStore.go
+++ b/controller/nucleus/sbiFilesystemStore.go
@@ -110,7 +110,7 @@ func (s *FilesystemSbiStore) Delete(sbiToDelete southbound.SouthboundInterface)
 			return nil
 		}
 	}
-	return &errors.ErrCouldNotFind{ID: sbiToDelete.ID, Name: sbiToDelete.Name()}
+	return &errors.ErrCouldNotDelete{Identifier: sbiToDelete.ID(), Type: sbiToDelete, Err: err}
 }
 
 // Get takes a SouthboundInterface's UUID or name and returns the SouthboundInterface. If the requested
diff --git a/controller/nucleus/sbiStore.go b/controller/nucleus/sbiStore.go
index fa992e4c1be4b1e8fbe993db59b8545658db2f7b..803dbf043a32998f9481e19e7e5d63bec17879ad 100644
--- a/controller/nucleus/sbiStore.go
+++ b/controller/nucleus/sbiStore.go
@@ -9,10 +9,6 @@ import (
 	"github.com/google/uuid"
 )
 
-const (
-	sbiStoreName = "sbi"
-)
-
 // SbiStore is used to store SouthboundInterfaces
 type SbiStore struct {
 	sbiStoreName string
diff --git a/controller/rbac/databaseRoleStore.go b/controller/rbac/databaseRoleStore.go
index b97da6d9a59dc1f4c91f5ab409c4b3901693d267..78044d11e07dd637493fa304cb15537705a0da9b 100644
--- a/controller/rbac/databaseRoleStore.go
+++ b/controller/rbac/databaseRoleStore.go
@@ -32,7 +32,7 @@ func (s *DatabaseRoleStore) Add(roleToAdd rbac.Role) error {
 			return nil
 		}
 
-		return errors.ErrCouldNotCreate{StoreName: s.roleStoreName}
+		return errors.ErrCouldNotCreate{Identifier: roleToAdd.ID(), Type: roleToAdd, Err: err}
 	}
 
 	return nil
@@ -48,7 +48,7 @@ func (s *DatabaseRoleStore) Delete(roleToDelete rbac.Role) error {
 		Collection(s.roleStoreName).
 		DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: roleToDelete.ID().String()}})
 	if err != nil {
-		return errors.ErrCouldNotFind{ID: roleToDelete.ID(), Name: roleToDelete.Name()}
+		return errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err}
 	}
 
 	return nil
@@ -93,7 +93,7 @@ func (s *DatabaseRoleStore) getByID(idOfRole uuid.UUID) (rbac.LoadedRole, error)
 	err := result.Decode(&loadedRole)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedRole, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName}
+		return loadedRole, errors.ErrCouldNotMarshall{Identifier: idOfRole, Type: loadedRole, Err: err}
 	}
 
 	return loadedRole, nil
@@ -116,7 +116,7 @@ func (s *DatabaseRoleStore) getByName(nameOfRole string) (rbac.LoadedRole, error
 	err := result.Decode(&loadedRole)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedRole, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName}
+		return loadedRole, errors.ErrCouldNotMarshall{Identifier: nameOfRole, Type: loadedRole, Err: err}
 	}
 
 	return loadedRole, nil
@@ -142,7 +142,7 @@ func (s *DatabaseRoleStore) GetAll() ([]rbac.LoadedRole, error) {
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: s.roleStoreName}
+		return nil, errors.ErrCouldNotMarshall{Type: loadedRoles, Err: err}
 	}
 	return loadedRoles, nil
 }
@@ -172,7 +172,7 @@ func (s *DatabaseRoleStore) Update(roleToUpdate rbac.Role) error {
 	if err != nil {
 		log.Printf("Could not update Role: %v", err)
 
-		return errors.ErrCouldNotUpdate{StoreName: s.roleStoreName}
+		return errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err}
 	}
 
 	return nil
diff --git a/controller/rbac/databaseUserStore.go b/controller/rbac/databaseUserStore.go
index a300c96ede566071de73472281753950a05e7bd6..0d2cd069343661bdcc640531128f0c8b96f81779 100644
--- a/controller/rbac/databaseUserStore.go
+++ b/controller/rbac/databaseUserStore.go
@@ -32,7 +32,7 @@ func (s *DatabaseUserStore) Add(userToAdd rbac.User) error {
 			return nil
 		}
 
-		return errors.ErrCouldNotCreate{StoreName: s.userStoreName}
+		return errors.ErrCouldNotCreate{Identifier: userToAdd.ID(), Type: userToAdd, Err: err}
 	}
 
 	return nil
@@ -48,7 +48,7 @@ func (s *DatabaseUserStore) Delete(userToDelete rbac.User) error {
 		Collection(s.userStoreName).
 		DeleteOne(ctx, bson.D{primitive.E{Key: "_id", Value: userToDelete.ID().String()}})
 	if err != nil {
-		return errors.ErrCouldNotFind{ID: userToDelete.ID(), Name: userToDelete.Name()}
+		return errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err}
 	}
 
 	return nil
@@ -93,7 +93,7 @@ func (s *DatabaseUserStore) getByID(idOfUser uuid.UUID) (rbac.LoadedUser, error)
 	err := result.Decode(&loadedUser)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedUser, errors.ErrCouldNotMarshall{StoreName: s.userStoreName}
+		return loadedUser, errors.ErrCouldNotMarshall{Identifier: idOfUser, Type: loadedUser, Err: err}
 	}
 
 	return loadedUser, nil
@@ -116,7 +116,7 @@ func (s *DatabaseUserStore) getByName(nameOfUser string) (rbac.LoadedUser, error
 	err := result.Decode(&loadedUser)
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
-		return loadedUser, errors.ErrCouldNotMarshall{StoreName: s.userStoreName}
+		return loadedUser, errors.ErrCouldNotMarshall{Identifier: nameOfUser, Type: loadedUser, Err: err}
 	}
 
 	return loadedUser, nil
@@ -142,7 +142,7 @@ func (s *DatabaseUserStore) GetAll() ([]rbac.LoadedUser, error) {
 	if err != nil {
 		log.Printf("Failed marshalling %v", err)
 
-		return nil, errors.ErrCouldNotMarshall{StoreName: s.userStoreName}
+		return nil, errors.ErrCouldNotMarshall{Type: loadedUsers, Err: err}
 	}
 	return loadedUsers, nil
 }
@@ -172,7 +172,7 @@ func (s *DatabaseUserStore) Update(userToUpdate rbac.User) error {
 	if err != nil {
 		log.Printf("Could not update User: %v", err)
 
-		return errors.ErrCouldNotUpdate{StoreName: s.userStoreName}
+		return errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err}
 	}
 
 	return nil
diff --git a/controller/rbac/roleFileSystemStore.go b/controller/rbac/roleFileSystemStore.go
index 3c4fd0c26026b49c9078b4034e738a0fe9056b53..bcf381396f3f48e17d53a32845286fce784cf375 100644
--- a/controller/rbac/roleFileSystemStore.go
+++ b/controller/rbac/roleFileSystemStore.go
@@ -40,8 +40,8 @@ func (s *FileSystemRoleStore) readAllRolesFromFile() ([]rbac.LoadedRole, error)
 	return loadedRoles, nil
 }
 
-func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error {
-	serializedData, err := json.Marshal(Roles)
+func (s *FileSystemRoleStore) writeAllRolesToFile(roles []rbac.LoadedRole) error {
+	serializedData, err := json.Marshal(roles)
 	if err != nil {
 		return err
 	}
@@ -55,7 +55,7 @@ func (s *FileSystemRoleStore) writeAllRolesToFile(Roles []rbac.LoadedRole) error
 }
 
 // Add adds a Role to the Role store
-func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error {
+func (s *FileSystemRoleStore) Add(roleToAdd rbac.Role) error {
 	s.fileMutex.Lock()
 	defer s.fileMutex.Unlock()
 
@@ -65,7 +65,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error {
 	}
 
 	var loadedRole rbac.LoadedRole
-	loadedRole, err = store.TransformObjectToLoadedObject[rbac.Role, rbac.LoadedRole](RoleToAdd)
+	loadedRole, err = store.TransformObjectToLoadedObject[rbac.Role, rbac.LoadedRole](roleToAdd)
 	if err != nil {
 		return err
 	}
@@ -81,7 +81,7 @@ func (s *FileSystemRoleStore) Add(RoleToAdd rbac.Role) error {
 }
 
 //Delete deletes a Role from the Role store
-func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error {
+func (s *FileSystemRoleStore) Delete(roleToDelete rbac.Role) error {
 	s.fileMutex.Lock()
 	defer s.fileMutex.Unlock()
 
@@ -91,7 +91,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error {
 	}
 
 	for i, role := range roles {
-		if role.ID == RoleToDelete.ID().String() {
+		if role.ID == roleToDelete.ID().String() {
 			//remove item from slice
 			roles[i] = roles[len(roles)-1]
 			roles = roles[:len(roles)-1]
@@ -105,7 +105,7 @@ func (s *FileSystemRoleStore) Delete(RoleToDelete rbac.Role) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: RoleToDelete.ID(), Name: RoleToDelete.Name()}
+	return &errors.ErrCouldNotDelete{Identifier: roleToDelete.ID(), Type: roleToDelete, Err: err}
 }
 
 //Get takes a Roles ID and return the Role if found
@@ -162,5 +162,5 @@ func (s *FileSystemRoleStore) Update(roleToUpdate rbac.Role) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: roleToUpdate.ID(), Name: roleToUpdate.Name()}
+	return &errors.ErrCouldNotUpdate{Identifier: roleToUpdate.ID(), Type: roleToUpdate, Err: err}
 }
diff --git a/controller/rbac/userFileSystemStore.go b/controller/rbac/userFileSystemStore.go
index f0547a6b2a1ec0768da7927b1248102834ca96ee..146ab0c5f6d717e9b0e860571b33b3ddcf6eb732 100644
--- a/controller/rbac/userFileSystemStore.go
+++ b/controller/rbac/userFileSystemStore.go
@@ -105,7 +105,7 @@ func (s *FileSystemUserStore) Delete(userToDelete rbac.User) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: userToDelete.ID(), Name: userToDelete.Name()}
+	return &errors.ErrCouldNotDelete{Identifier: userToDelete.ID(), Type: userToDelete, Err: err}
 }
 
 //Get takes a Users ID and return the User if found
@@ -162,5 +162,5 @@ func (s *FileSystemUserStore) Update(userToUpdate rbac.User) error {
 		}
 	}
 
-	return &errors.ErrCouldNotFind{ID: userToUpdate.ID(), Name: userToUpdate.Name()}
+	return &errors.ErrCouldNotUpdate{Identifier: userToUpdate.ID(), Type: userToUpdate, Err: err}
 }