- simplified naming of classes
- created a HashKey case class to represent the hash value