updated map generation