contract Ownable {
	address owner;
	address potentialOwner;
	
	modifier onlyOwner() {
		require(owner == msg.sender);
		_;
	}

	function Ownable() public {
		owner = msg.sender;
	}

	/*
	 * PUBLIC
	 * Check whether you `own` this Lottery
	 */
	function amIOwner() public view returns (bool) {
		return msg.sender == owner;
	}

	/*
	 * RESTRICTED
	 * Transfer ownership to another address (goes into effect when other address accepts)
	 */
	function transferOwnership(address _newOwner) public onlyOwner {
		potentialOwner = _newOwner;
	}

	/*
	 * RESTRICTED
	 * Accept ownership of the Lottery (if a transfer has been initiated with your address)
	 */
	function acceptOwnership() public {
		require(msg.sender == potentialOwner);
		owner = msg.sender;
		potentialOwner = address(0);
	}
}
function acceptOwnership() public {
	require(msg.sender == potentialOwner);
	owner = msg.sender;
	potentialOwner = address(0);
}

/*
 	 * RESTRICTED
 	 * Accept ownership of the Lottery (if a transfer has been initiated with your address)
 	 */