Changed Map
made it more general purpose