implemented a simple hashmap and tests