Making the hashCode function a wee bit more sophisticated