alright... allowing WeakRef might not be a good idea