CRuby implementation