ruby implementation complete