fix reference cycle,
sdsf