moved some things around and tried to fix BigDecimalMath for precise PI values