weak code pointers and strong temporary pointers