完善修改bug:self referencing loop