add garden.utils.WeakReference