add ruby implementations