function from modifying the pre-agreed %
    require(
      checkRefundSignature(_contractorPercent,_hirerMsgSig,_hirer)&&
      checkRefundSignature(_contractorPercent,_contractorMsgSig,_contractor));

    uint256 jobValue = hirerEscrowMap[_hirer][jobHash];

    
    require(jobValue > 0 && jobValue == _value);

    
    require(jobValue >= jobValue.sub(_fee));

    
    require(totalInEscrow >= jobValue && totalInEscrow > 0);

    totalInEscrow = totalInEscrow.sub(jobValue);
    feesAvailableForWithdraw = feesAvailableForWithdraw.add(_fee);

    delete jobEscrows[jobHash];
    delete  hirerEscrowMap[_hirer][jobHash];

    uint256 contractorAmount = jobValue.sub(_fee).mul(_contractorPercent).div(100);
    uint256 hirerAmount = jobValue.sub(_fee).mul(100 - _contractorPercent).div(100);

    emit MutuallyAgreedCancellation(
      jobHash,
      msg.sender,
      hirerAmount,
      contractorAmount);

    emit AddFeesToCoinSparrowPool(jobHash, _fee);

    if (contractorAmount > 0) {
      _contractor.transfer(contractorAmount);
    }