added ruby wrapper developed by @dvliman