Rational updates

added constructors