allow KeyboardInterrupt