fix bug due to the cambling from double to bigdecimal