new structer for equal