have to redefine the map code for 3 dimensional generation