Implemented most of the interface kit code and ruby bindings