add the ruby implementation