made Rational fields private, added getters