Map and some other things
weird merge