broke out take_turn into multiple methods to seperate concerns