fix weak pointers