Refactoring

* Not modifying Hash
* More explicit names for variables