rationals OO