Rational almost done, modified constructors for most special cases.