removed basic_action; refactoring