fix gc bugs