Refactor
- hashCode
- lazy val
- reformat