level generation code basically finished