Use better hash functions
solve conflicting type size_t vs int