base functionality moved to a standalone manager