added decomp_rational()