added rationals library