Added city generation and reorganized code a bit