hacking malloc, made it use a hash instead of multi-level table for lookups