fixed hashcode