added addMap function which recursivly and concurrently adds all the nessisary levels of maps to allow for all nessisary data