add math_helper to fix rounding error
finish promotional_rule tests