The State of Uniswap Governance: A Paradox of Minimization
Other Internet embarked on a listening tour with a diverse set of Uniswap stakeholders during the first quarter of 2022. Our aim was to identify the most pressing issue areas within the Uniswap community and provide ideas to improve protocol governance. The “paradox of minimization” is a thread that ran through almost all our conversations: how can we think about increasing governance participation when Uniswap’s governance surface area has been quite purposefully constrained? With so few affordances for taking action on the protocol itself, community energy has gravitated towards web3’s ecosystem-wide issues like L2 scaling solutions and mechanisms for multi-chain governance. But in order for projects in this domain to be successful, Uniswap governance needs more off-chain organizational structures and processes to facilitate coordination across the complex web of stakeholders. We explore the multidimensional nature of this problem and propose potential pathways forward.
On paper, it might appear as if the surface area of Uniswap governance is minimal. In its operational reality though, protocol governance takes on a greatly expanded purview.

Uniswap’s governance-minimized approach to maintenance and development has been the source of its strength and security. The protocol’s constraints have for years been praised by observers who admire its elegance and alignment with the design ethos of Ethereum. But for many of the governance participants we interviewed over the last three months, minimization has been a source of frustration. It’s left them feeling like the system is at times too slow, static, and difficult to navigate.

These growing pains are perhaps natural and inevitable. As the ecosystem of web3 public goods expands in complexity and new chains proliferate with ever-increasing speed, it’s become clear that more formalized processes are needed. For governance to remain minimized at the protocol level, there need to be structures and processes to facilitate off-chain coordination within the community and with external partners. In the meantime something like a “procurement team” could help the protocol evaluate the field of service providers and partnership opportunities that have emerged as it matures.

In order to get a clearer picture of the most recent dynamics in Uniswap governance and understand how to most effectively support participants, we spent the first two months of 2022 on a “listening tour” with Uniswap stakeholders, representing a diverse set of interests, concerns and aspirations. Building on our previous efforts in ethnographic research within cryptocommunities and following on the trajectory opened with our last post, we wanted to understand:

1. Who are the political actors in the Uniswap community?

2. What areas of governance do they care about?

But first, a note on our method.

How to study a social organism

DAO ethnography is an emergent field. As we chart this new territory we are also carving out a new method. Pace Vitalik’s “e-theory-um blockchain” and its emphasis on wordcel theory over empiricism, a protocol is not just about technical and economic mechanisms and formal security guarantees. It is a living social organism that evolves with its human participants and the context in which it is situated. Thus, we opted for a qualitative approach in order to surface the subjective, meaning-making practices and dynamics that shape the protocol as a social system, with a specific focus on how these apply to the nascent field of human-led protocol governance.

Drawing on the interpretive approach pioneered by Clifford Geertz (1973), which places emphasis on the cultural context within which behaviors and ideas are expressed, we organized in-depth interviews with 20 stakeholders. We then coded them on the basis of an analytical framework informed by the work of Pelt et al. (2020). This framework enabled us to identify issues based on a combination of different categories.

3 governance layers, the “strata” through which governance operates:

  • Off-chain community: in Uniswap’s case, the social dynamics and relations that occur within Uniswap’s social environments (forum, Discord, Twitter, etc.) and that inform the governance layers below.
  • Off-chain operations: indicating governance matters that take place outside of formal on-chain voting, with a specific focus on protocol and ecosystem development and maintenance. UGP and The Stable fit into this category. As we’ll see, there are not that many more examples of formalized off-chain operations in Uniswap.
  • On-chain protocol: the mechanisms and rules of interaction encoded in smart contracts through which the governance process occurs. In the case of Uniswap this layer pertains to the affordances of Governor Bravo as an infrastructure for enacting decisions that may affect protocol parameters.

5 governance dimensions the key topics of governance in the context of open source software and blockchains:

  • Roles and Org Structures: indicating organizational hierarchies and accountability mechanisms for participants;
  • Comms and Information: pertaining to how and through which media communication takes place (both within and outside of the network);
  • Financial and Non-Financial Incentives: that is, the monetary and non-monetary rewards for the different network participants;
  • Rules, Barriers and Accessibility: concerning participation and membership criteria;
  • Decisions, Conflict, Power: focusing on the decision making processes and mechanisms available to the network participants.

We ended up with a mélange of descriptors that, once analyzed, gave us a multifaceted and nuanced understanding of some of the key issues within Uniswap governance.


Governance layers and dimensions

A framework for conducting ethnographic studies on decentralized protocols.

Entangled Actors and Multi-layered Perspectives

When we started our research, we expected to find a relatively clear separation of roles among stakeholders on the basis of the size of their holdings. This follows from the narrative around Uniswap governance that pits a small class of “whales” steering the decision process against a large disempowered community of small holders.

Instead we discovered that stakeholders were extremely entangled, with several interviewees fitting in more than one category and shapeshifting into different roles depending on the specific context of their interactions with Uniswap.

Over a quarter of the stakeholders who responded to our call were actively involved in Uniswap governance—either as contributors participating in discussions in the forum and discord, or as proposal initiators, or both. We called these actors "protocol diplomats".

Conspicuously absent from our analysis were large or professional LPs. This is however not surprising considering the fact that LPs are not deeply involved with, and are to an extent excluded from, the governance process altogether.


Who we interviewed

A snapshot of the stakeholder perspectives represented in our interview process. Several interviewees identified themselves as more than one category.

With regards to stakeholders' perspectives on the different dimensions of governance, we found that protocol diplomats and small holders are most concerned toward issues relating to Rules Barriers Accessibility, whereas Roles and Organizational Structures were a primary focus for large holders and LPs.

Interestingly, Financial and Non-financial Incentives for participation take on a substantial importance for all the categories of stakeholders that we have interviewed. Perhaps protocol diplomats spoke less about this issue because their incentives are more clear from the start.


Interview Focus

Different stakeholder groups focus on different issues.

Multidimensional Concerns

We started our listening tour looking to study the community’s role in protocol governance and the rise of interest representation/lobbying around web3 public goods. We observed that, while the volume of governance activity was low, L2 scaling solutions sparked some healthy activity in the forum and we speculated that these ecosystemic web3 issues could be a catalyst of activity in the community.

The recent surge of Additional Use Grant requests in the forum validated our initial hypothesis. However, we discovered that the main issue for stakeholders is still the governance process itself, especially when it comes to on-chain issues. Other highly discussed themes were compensation for contributors (including delegates), and power asymmetry, indicating the need to address these important blockers before turning to ecosystemic issues in web3. Arguably the lack of legal guidance with regards to regulatory risks is still one of the main sources of decisional paralysis, preventing the community from advancing proposals that might attract scrutiny by regulators. Below we discuss current blockers and emerging issues in more detail and provide recommendations on the basis of our analysis. Of course, the irony of operating in a decentralized context is that often there is no one entity to address these recommendations to – a further issue that we’ll address below.

Current blockers

Governance process itself as a blocker

While ecosystem-level issues are definitely a concern (especially for protocol diplomats) the governance process is the main blocker that prevents them from addressing these issues — along with compensation for contributors (especially delegates). This is particularly evident with regard to the licensure process. In order to support the community in handling the incoming additional use grant requests, Uniswap Labs has open sourced the deployment script and documentation outlining how to deploy V3 to other chains; they have also recently proposed a template to facilitate the licensure process. In spite of these commendable efforts, realizing the vision of a “multichain Uniswap" will entail addressing the slowness and power imbalances in the governance process first.

“Governance moves so slow. There’s just so much coordination we have to do.”

“We ultimately decided to stop applying for the license because we didn’t want to spend this effort just to have someone nuke the vote.”

Uniswap governance is technically minimal in terms of surface area. However in the limited area where governance is possible, it is extremely arduous. Given its size and lack of structure, Uniswap is arguably the protocol with one of the highest levels of informal governance or politicking. We can think of this as governance minimization by breadth, and maximization by depth.


2D Fish

Selene vomer, or the Lookdown, is a species of fish with an extremely narrow body. From the front angle it appears minimized. From the side it appears much larger.

Another classic example of this paradox in Uniswap governance is the issue of the fee switch, which has been subject to interminable discussion but no action. The “fee switch” is often referred to as a singular issue with a single on-off switch. In reality, each individual pool could in theory spin out its own DAO and make its own governance decisions re: the associated fee structure, as some interviewees noted. The fee switch is not a monolith.

“I can see Uniswap is taking a slow approach, but I do feel frustration with not having the simple framework laid out (Uniswap excelled at simplicity for trading UI/UX, why has this approach changed for governance UI/UX). For example, every pool can be voted upon for the V3 fee switch, i.e. USDC/ETH pool, and also every pool can be voted on for trading basis fee %'s like the stablecoin pools proposal. These two things in themselves are a lot of votes to put through a traditional forum proposal voting process.”

There are many different interest groups within “Governance,” and it’s difficult to get anything done when the community is modeled as a singular unit. Uniswap could, for example, try to implement different experiments on different L2s. It seems that the size and scale of the Uniswap governance portal is making it difficult to experiment and move quickly.

“We explored per pool governance for setting the fee level. One issue is it’s more complicated when it’s concentrated liquidity. Which might skew with how much power / fees are allocated ... having one DAO per pool is a cool idea.”

Uniswap Labs has proposed simplifications to the governance process, which Other Internet endorsed with some revisions. These changes may help simplify the “interface” to governance, but don’t necessarily solve the underlying issue: namely, that even the smallest of proposals must go through a laborious political process which entails whipping 40 million votes to get anything passed. This provides a lot of security, but makes it difficult to move quickly or efficiently.

Regulatory pressure creates hesitancy

Now for the 800-pound gorilla in the room: SEC regulation. Some fear Uniswap could get fined or shut down by the SEC. Since the Wall Street Journal and others reported in September 2021 that Uniswap is facing heightened scrutiny from crypto’s favorite regulatory body, governance participants have tread lightly._ _Opponents argue that the protocol is an unregistered securities exchange. Advocates say that Uniswap can’t technically get shut down because no one entity is responsible for continued operation. As Coin Center put it, “Calling those tools “a DEX” and referring to “DEXs” as a category of things that exist in the world (rather than actions) does the entire technology a disservice: it wrongly portrays software tools as persons or businesses with agency and legal obligations. Corporations and persons — legal or natural — definitely have agency and obligations; software tools do not. Corporations and persons can be held responsible for their actions, software tools cannot.” Still, no one knows what will happen in the coming months and years, and that’s part of the problem. Being the largest and most successful DEX means that policymakers can make an example out of you. The threat of regulatory scrutiny is felt particularly strongly by protocol diplomats, discouraging them from developing proposals. As one observed:

“The risk aversion with Uniswap because of regulatory reasons is very high vs other projects who can do more, and who can diversify and accrue metagovernance power.”

Our investigations also uncovered different work streams and projects that were blocked by the spectre of regulatory risk. Said one interviewee:

“There have been a lot of proposals I wish I’d published. There have been one or 2 we’ve actually written, fixed a lot, iterated on and never published. The main reason being legal. It’s something everyone is well aware of - I don’t know how to solve it. They’ll be easier over time.”

The contents of these proposals remain a mystery, but the implications are clear. The looming regulatory risks are slowing Uniswap down:

“If I had to be frank, Uniswap is the bottom quartile of our experiences, because of the lack of nimbleness and some of it…is to do with regulation. We want to operate at the bleeding edge of what is interesting for DAOs. To do something like that for Uniswap the bar would be so much higher and I would have to think through, would it be worth it?”

Perhaps a formal process could be created by which the DeFi Education Fund offers legal guidance and counsel to governance participants who successfully push a proposal to an on-chain vote. The DAO doesn’t have a legal structure, which is supposed to be a feature rather than a bug. But this means that proposers are left to manage legal risks and liabilities on their own — a responsibility that entails high fees and subject matter expertise. Uniswap governance could also set up special purpose organizations, spun out from the DAO, that could take on a legal role in matters such as enforcement of contractual terms. But the feasibility of this option would have to be further explored.

Power Asymmetry: voter apathy and delegation fatigue

The wildly unequal distribution of voting power leaves many smaller fish feeling fried. They feel there’s no reason to participate in governance because their votes do not matter. And they’re not wrong. Large whales can swoop in and tip the scales at the last minute. Smaller holders have a very difficult time putting forward proposals.

“I feel that I'm just a small fish and it’s just not even an impact. It’s really difficult to quantify and that’s it. I find governance to be a bit exhausting because [...] [large VC firms] own everything and can sway the vote whatever way they want. Whatever they’re going to do is what happens. With anything there’s always a consolidation of control, in a publicly traded company it’s the exact same. I don’t vote on shares that I own.”

There are those who believe that Uniswap is a radically new hyperstructure – a free, unstoppable, permissionless protocol – filled with untold possibility and potential for innovation. A new organizational design where none of the old rules apply. Then there are those who see echoes of the old order. A convergence towards the corporate governance modes of yesteryear.

“Been trying to look at where the power is — power is with very few people; it’s mostly like 10 participants with relevant tokens and everybody else has zero tokens compared to them.”

Some community members, however, are not bothered by this power asymmetry. There is too much at risk, they say, and no reason to try to maximize governance participation if people don’t have enough information or expertise to make good decisions.

"I don’t think that a large number of people voting is necessarily a metric people want. People are like: how do we get more people to vote? I don’t know why that’s a desirable thing. Governance is of a highly specific thing. If you care about optics, more voting participation is good – but in reality is it worth the effort to get more people to vote? They would make decisions without information. It’s more important to get tokens into the hands of people who do already care and have more credibility in terms of knowledge and experience and are aligned long term that you can trust ... It’s not practical for a lot of people to develop their own opinions and vote. So, best solution is either to have them delegate or let them vote along with their favorite delegate's opinion."

More sophisticated delegation processes could help alleviate some of the power asymmetries in the Uniswap governance ecosystem. But as of now, delegation seems to be an underutilized governance tool that hasn’t fully seeped into the culture of Uniswap. The “Delegation Pitch” thread on the governance forums is relatively inactive, with only 10 posts made in the last year. a16z’s token delegation program is perhaps directionally correct, in that it opens up a formal channel through which engaged community members can acquire more voting power. More affordances and processes for delegation could help to activate contributors who show an interest in playing a more prominent role. However, the responsibilities that come with being a larger delegate cannot be understated. Participating in governance requires a lot of time, expertise, and social capital. Currently, there just isn’t enough organizational structure or scaffolding to make this a straightforward process. The work is largely unpaid and underfunded. Several governance contributors pointed to the lack of incentives in delegation:

“Why would I delegate if I could just LP them? I hold them because I like Uniswap. And I think there’s a future value in the protocol, they’ll do some great things. But it’s hard to justify being like I’m just gonna delegate.”

“If you design paying delegates in a way that can’t be gamed it seems worth it. It’s a reason people like me don’t participate more - there’s no incentive. I have a lot of votes but what’s the point? Part of what motivates me is importance and what’s controversial. I don’t know of anything that’s felt super controversial or important in the past few months. If there was incentive to take 15 minutes to write out a post I’d be more likely to do it.”

One interviewee suggested the introduction of “meta-delegates”, akin to political parties, to incentivize delegate participation and introduce a more inclusive approach to governance:

“I propose the encouragement of meta-governance-abiding organizations to appoint themselves as delegates and begin active participation. To some extent, this may be perceived as DeFi Political Parties - I would agree upon this identification. By supporting meta-delegates (meta-governance), the overarching Uniswap governance model is further reinforced by two-factored governance process. Instead of having an individual delegate unilaterally vote on a proposal, emboldening the involvement of a Meta-Delegate would offer a more diligent and inclusive approach that would truly embody the community’s sentiment.”

Emerging blockers

Slow operational decentralization

In the original announcement of the UNI token, governance was given “immediate ownership” of the community treasury. In early 2021 the Uniswap Grants Program (UGP) was created to facilitate the funding of ecosystem development initiatives. Although the community can still vote on treasury-related matters, UGP essentially has a monopoly on treasury disbursement. The committee of only six people makes decisions about how millions of dollars get allocated. Of course, the most controversial proposals went through governance. But in an ideal world the UGP committee would be just one of a number of grants making bodies within the Uniswap ecosystem. Other Internet and The Stable, a grants subcommittee created with the purpose of rewarding community contributors, are two early examples of this polycentraliztion process, as they are both working groups under the umbrella of Uniswap governance that have the ability to distribute grants. But it’s not difficult to imagine a number of other grant-making bodies, each with their own theme or focus area. They might even compete with one another, spurring more innovation with the ecosystem. As two large holders and governance contributors observe:

“Decentralization comes more by funding a lot of truly independent entities that do different or redundant things but that’s where the resilience comes from ... I would love it if there were 5 UGPs funding different things. Having not just Uniswap Labs working on development, funding independent teams. Grants is still a pretty good intermediary for it.”

“Outside of scaling, you can think about the grant program as an example of a satellite team. You could contrast this with MKR which has spun out the core operating team into all these units. IMO they are doing the best job at governing a complex protocol.”

The centralization of the grants program was perhaps helpful “training wheels” to get things started. But now that it has several waves under its belt, our investigations show that it may be time to start thinking about breaking up its monopoly on treasury disbursement and forming several different grants programs, each with its own theme or mandate. Is it time for a great grants diaspora? Signs are pointing towards yes...


Governance scope creep & security risks

Although Uniswap governance was originally minimal by design, the scope has slowly expanded as questions of multi-chain deployment have come to the fore. As we observed in our prior report, governance has been asked to make increasingly consequential decisions that have the potential to threaten the security of the network. For example, in their January 2022 blog post on Multichain Uniswap, the Labs team wrote: “When evaluating a Uniswap v3 deployment, we encourage the community to pay close attention to the security and trust assumptions of the bridge being used to relay governance to that chain.” This expansion of the scope of governance poses new risks and goes against both the minimization ethos that Hayden Adams initially emphasized and the “un-governance” model that Vitalik put forward last year (where governance has control over fewer and fewer features over time).

In addition to the “maximization by depth” discussed above (where seemingly straightforward initiatives uncover the need for structures and processes that require additional governance decisions), Uniswap Governance is also vulnerable to scope creep because its functions are so undefined. The horizon of governance’s purview is potentially forever expanding.

Since governance scope creep is likely inevitable given the circumstances, what’s needed is clear processes for dealing with expanded responsibility while avoiding security risks. Any governance system, whether it’s intended to be minimized or maximized, requires auditing, active maintenance and ongoing, targeted intervention to be kept that way. Governance minimization at the protocol level does not necessarily mean a minimized approach at the level of community and ecosystem. The scope of governance, both on-chain and off-chain, is a process that must be continually negotiated as the world around Uniswap changes.

Minimization, we should not forget, is a means — not the end goal, or something to pursue for its own sake. This end is not necessarily speed and efficiency, but security. This is precisely something that is threatened by, to quote Hayden Adams, “new risks and trust assumptions that do not exist in immutable, automated systems”. Protocols are currently using quorum thresholds as a security measure. The thinking is that no controversial proposals will make it through the governance process if the thresholds are high enough. But this “security by aristocracy” is not an ideal approach to safeguarding the protocol. Governance powers should be designed such that they are actually actionable and accessible to delegates and contributors. If a parameter is so high risk that high quorums and whale veto power become a necessary counter measure, perhaps it should not be in the purview of governance in the first place. Illusory governance powers that, in reality, can be canceled by large whales, tend to detract from the credibility and legitimacy of the governance system as a whole.


Lack of accountability in partnerships

In addition to security risks, having Uniswap’s interactions with other protocols facilitated via governance means that negotiated deals currently lack enforcement possibilities.

Uniswap governance processes that do pass via its technically minimized on-chain governance can still have time-consuming fallout, as Governor Bravo — and the alegal nature of DAOs — currently offers no formal accountability or enforcement mechanisms for these proposals. This means that in Uniswap governance, proposals are passed on-chain as if they are “binding”, and yet cannot be enforced on-chain, let alone enforced at all. Matters can become frustratingly manual, involving social pressure, negotiation and communication tactics, as was seen in Polygon’s long-delayed liquidity mining incentives:



The v3 license exemption process, carried out via governance, also suffers from similar dysfunctions and blind spots. While according to the Business Source License granting an exemption consists in adding a project’s name to the text record stored at v3-core-license-grants.uniswap.eth, there is no on-chain or legal way to enforce the financial and non-financial commitments promised upon requesting the Additional Use Grant via governance proposal.

A key question for consideration: does the lack of automated accountability mechanisms mean that on-chain partnerships were poorly designed — or that off-chain solutions to accountability are inevitable? To what extent can these dealmaking mechanisms be fully automated?

DAO2DAO collaboration protocols may offer ways to address some of these issues via on-chain escrow mechanisms. But some amount of off-chain coordination is necessary to the forming cross-protocol partnerships and should be facilitated with adequate processes and frameworks.

Conclusion: protocol gardening

The Uniswap protocol has been praised by many interviewees for its elegance and governance minimization. But we’ve seen that human coordination issues cannot be eliminated. Because there were no processes in place at the start of Uniswap’s journey toward progressive decentralization, the labor of governance has become unsustainable to many. It seems as though the airdrop transformed all the value that Uniswap generated for its users into new costs of coordinating the operational functions that were managed by Labs prior to the launch of UNI.

Our interviews surfaced the need for new redistributive mechanisms that could balance out the additional efforts demanded of the community, and several stakeholders offered ideas in this regard. One large holder suggested creating incentives for quality proposals “as a job that's different from the maintenance of proposals / protocol updates.” A small holder and community contributor proposed instituting “delegate dividends” as some sort of LP tokens associated with one’s delegated amount. Another forum contributor advanced the idea of “do[ing] a small giveaway to everyone who has been participating in governance.” One protocol diplomat suggested conceiving of token design “more like gardening than architecture” and introduce ideas around token distribution accordingly:

“There is the idea that community building is more like gardening than architecture, and I think we should think about token design similarly. Some ideas around token distribution, maybe there is a way to reward governance proposals or voters in some way based on the success of the proposals, with a 1million budget every six months and give a bunch of UNI tokens to the last voters and proposals, and that encourages more folks to propose things.”

For a garden to grow lush and bear fruits, there needs to be the right climate, soil composition and cultivation techniques. Similarly, in order to grow a community in an organic manner, there need to be processes and roles in place to facilitate decentralized contributions and decision making around these large issues. Here are some core infrastructural areas that, from our investigation, are vital for the flourishing of the ecosystem around Uniswap.

  1. Formalize off-chain processes and mechanisms for those aspects of governance that cannot be fully automated. Where a proposal implies no protocol change or token transfer, consensus can be achieved through off-chain means. Uniswap Labs team has proposed a governance process simplification but the proposal has not been implemented yet, in an ironic manifestation of governance’s current impasse. While this is a great first step toward making the decision-making process more agile and less burdensome, there needs to be more effort toward creating credibly neutral processes to handle key areas such as partnerships and off-chain operations (i.e. setting up working groups or subDAOs) instead of approaching these in a case-by-case manner. In order to address the design of such processes, and also tackle some of these urgent issues in the same breath, we have created working groups in areas such as Licensure & Partnerships, and Treasury Diversification.

  2. Create many centers of authority that can act independently from the core team. Delegation is an affordance of governance that is currently underutilized but potentially very beneficial in bringing different representations to the political table. Being a delegate is not only about the size of one’s bags but entails analytical and interpersonal skills that, if not innate, need to be learned through practice. It is a job that requires time and dedication and should be compensated accordingly. Only a few delegates are active in the forum, and the ones that are more responsive happen to be in certain cases also protocol diplomats. This is not a coincidence. They have the skills, internal motivations and ecosystemic interest to make informed decisions toward the protocol’s benefit. But for a truly flourishing web3 ecosystem, whose positive externalities may seep into the real world, there needs to be more representation of diverse, multi-layered interests, including protocols contributors, DAO workers, LPs, and perhaps also the local communities that Uniswap connects with. Other Internet is organizing a Governance Summit, in partnership with Orca Protocol, where budding protocol politicians will be paired with IRL governance experts to learn from and cross-pollinate with one another and address these hard organizational questions. Another core piece of the polycentralization puzzle may be the establishment of a “procurement team” that provides the connective tissue between Uniswap DAO requirements and the rest of the web3 community. As both partnership possibilities and the scope of governance expand, it could be useful to have a team that’s dedicated to securing resources for the protocol’s maintenance and development, especially in these initial stages of Uniswap’s operational decentralization. Other Internet is well positioned to help fill this role.

For more information on the interventions that we are currently pursuing and our approach to Uniswap governance, visit our Governance Platform.

Decentralized environments benefit from redundancy and parallel experimentation, and there are many more aspects of the Uniswap ecosystem that from our analysis require support.

For this reason we are also sharing our own intervention ideas for the Uniswap community to take up. In the afterglow of our listening tour we generated a series of ideas for proposals that we believe would be beneficial to Uniswap. Please reach out if you are interested in implementing any of them. We will provide support and sponsorship through the proposal process.

Read our Uniswap governance intervention table

© 2022 Other Internet