heap allocated map