http://www.intellexual.net/hid.html