make GC interruptible