reduce hash lookups