fixed weakmap