implements some hash tables