a bunch of game setup and input