use SetFrom() instead of Clone()