add equals procedure