improve Rational