add keyboard interrrupt