lots of cleanup, use world object world containing global game state