restructure: define services separately
restructure: define keyboardMapService