function decreaseApproval(

    address _spender,

    uint _subtractedValue

  )

    public

    returns (bool success)

  {

	uint256 oldValue = allowed[msg.sender][_spender];

	

    if (_subtractedValue < oldValue) {

      require(getFreeBalance(msg.sender) >= oldValue.sub(_subtractedValue));	  

    }    

    return super.decreaseApproval(_spender, _subtractedValue);

  }