added Rational class.