Tinkering update

- Re-base
- Update hashCode function to be less hacky