added map utility class because we frequently need this structure
first version of EntityManager