fixed a circular reference infinite loop w/ hashcode