stop using weakref