moving current_player logic; adding untested methods per protocol