support for decimal precision