refactored action executing