More debugging to get inverses right.  Add Rational class