Refactoring action to use functional obj construction