introduce Interruptible interface