ruby compatibility