working weak_comps