prevent self assignment