a simple hash map implementation in C