preliminary working keyboard interface