contract Owned {
    
    //address of contract owner
    address public owner;

    //event for transfer of ownership
    event OwnershipTransferred(address indexed _from, address indexed _to);

    /**
     * @dev Initializes the contract setting the _owner as the initial owner.
     */
    constructor(address _owner) public {
        owner = _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner {
        require(msg.sender == owner, 'only owner allowed');
        _;
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`_newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address _newOwner) external onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(owner, _newOwner);
    }
}
function transferOwnership(address _newOwner) external onlyOwner {
    owner = _newOwner;
    emit OwnershipTransferred(owner, _newOwner);
}

/**
 * @dev Transfers ownership of the contract to a new account (`_newOwner`).
 * Can only be called by the current owner.
 */