allowing keyboard interrupt