adding keyboard functionality