initial commit
basic HID implementation
various fixes