finishing touches on game logic