added mouse/keyboard handling interfaces/registy