added ruby implementation of interfaces