fleshing out game logic