added preliminary type for rationals