implement the action method