refactored manager