contract Owned {

    /// `owner` is the only address that can call a function with this
    /// modifier
    modifier isOwner() {
        require(msg.sender == owner);
        _;
    }

    address public owner;

    /// @notice The constructor assigns the message sender to be `owner`
    constructor() public {
        owner = msg.sender;
    }
    
    address newOwner=0x0;

    event OwnerUpdate(address _prevOwner, address _newOwner);

    ///change the owner
    function changeOwner(address _newOwner) public isOwner {
        require(_newOwner != owner);
        newOwner = _newOwner;
    }

    /// accept the ownership
    function acceptOwnership() public{
        require(msg.sender == newOwner);
        emit OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = 0x0;
    }
}
function acceptOwnership() public{
        require(msg.sender == newOwner);
        emit OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = 0x0;
    }
/// accept the ownership