add Rational to demonstrate features in class, such as operators, method overload