contract ERC20Token {
    uint256 public totalSupply;  /* shorthand for public function and a property */

    function balanceOf(address _owner) public view returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
/**
 * @dev The standard ERC20 Token contract base.
 */
function balanceOf(address _owner) public view returns (uint256 balance);

/* shorthand for public function and a property */