global handle should be a weak symbol