Rational number implementation
