add mising equals() & hashCode()