complete game and tests