fixbug: fix retain cycle problem