new map loading logic