fleshed out game, not tested yet