contract IOwned {
    // this function isn't abstract since the compiler emits automatically generated getter functions as external
    function owner() public view returns (address) {}

    function transferOwnership(address _newOwner) public;
    function acceptOwnership() public;
}
/*
 Owned contract interface
 */
function owner() public view returns (address) {}
// this function isn't abstract since the compiler emits automatically generated getter functions as external