refactor the Manager classes