long -> integer, fraction -> rational