use %newobject on label factory functions to fix premature memory freeing