equals(),  hashCode() & some doc