refactored action package