return undefined if key not in map