fix gc leak