fixed rounding imprecision