update
add equals