base game functionality nearly complete