all database manipulation handled in background via messaging