func: function releaseEscrow(
        
        bytes16 _tradeID, 
        address _seller, 
        address _buyer, 
        uint256 _value 
      )  external {
          
          bytes32 _tradeHash = keccak256(_tradeID, _seller, _buyer, _value);
          require(escrows[_tradeHash].exists);
          require(escrows[_tradeHash].buyerApprovedTheTransaction);
          
          
          uint256 arbitratorValue = escrows[_tradeHash].summ*ARBITRATOR_PERCENT/100;
          uint256 buyerValue =  escrows[_tradeHash].summ - arbitratorValue;
          
          bool sellerReceivedMoney = escrows[_tradeHash].seller.call.value(buyerValue)();
          bool arbitratorReceivedMoney = arbitrator.call.value(arbitratorValue)();
          
          if ( sellerReceivedMoney && arbitratorReceivedMoney )
          {    
              delete escrows[_tradeHash];
          } else {
              throw;
          }
  
      }