safer hash mappings