added a process_action method