fixed map implementation