Added keyboard interface (still buggy though)