use battle_step, action, player_wrap