added KeyMapper class for further work