refactoring action manager