refactoring action builder