added keayboard interupt handler.