last fix was ignoring keyboard interrupt