added rounding mode and initialization