overload insert, lookup, and has to handle map representation