abstract contract ERC20Interface {
  // Send _value amount of tokens to address _to
  function transfer(address _to, uint256 _value)
    public
    virtual
    returns (bool success);

  // Get the account balance of another account with address _owner
  function balanceOf(address _owner)
    public
    virtual
    view
    returns (uint256 balance);
}
/**
 * Contract that exposes the needed erc20 token functions
 */
function transfer(address _to, uint256 _value)
  public
  virtual
  returns (bool success);

// Send _value amount of tokens to address _to