refactored action handler in base class