added skeleton for keyboard IO handling