bug in equals method