add weakmap dep