fix hashcode