Reorganization and added Map generation.