added new classes
modified keyboard system