On Tech, Business, Society.

Tag: software development

How Blockchain Applications Will Get Deployed

Field imageThe blockchain applications market is unravelling along a segmentation of activity that is spread along two sets of variables: private vs. public blockchains, and new vs. existing business models.

This combination of options yields 4 different outcomes.

First let me explain the segment variables, and then we’ll dive into their intersects.

Public vs. private

That’s typically the first order of decision choice for a given blockchain application. The key characteristic of public blockchains is that they are permissionless, which means that any user can join, either anonymously or with a known identity. Public blockchains are almost like the public Internet which is open and widely accessible. If you can get on the Internet, you will likely be able to get on a public blockchain, via a specific application.

As of now, public blockchains are not interoperable with each other, nor have seamless end-user flow characteristics between them. User identification and credentialing exist at the application level, not at the blockchain level. For example, a given application user is not a user of Bitcoin, or of Ethereum. They are a user of a certain software application that uses one of these two chains. A quasi-interoperability exists only at the currency exchange level, but in the near future, we will see common identity systems that could be used across blockchain applications (e.g. via Blockstack, uPort or Netki).

On the opposite side of public blockchains, private blockchain implementations are gaining popularity within organizations that are not comfortable relying on these new public infrastructures, for a variety of reasons. Private blockchains have pros and cons: they are faster at processing transactions, but as of today, they are more difficult to deploy and configure, in addition to the required complexity of integration within legacy systems.

New vs. Existing Models

This is an important distinction pertaining to the “purpose” of the given technology or application, and this classification  is not always obvious initially. When a given application is targeting an existing large organization, it is most likely that the technology is supporting existing models, and not disrupting them.

In my opinion, one of the most exciting potentials of the blockchain relate to creating new business models; whether in public or in private settings. In most of these cases, the new models don’t care for incumbents, because they are mostly on a disruption quest.

Supporting existing models doesn’t re-invent or disrupt an industry or organization, but it may make them stronger, more resilient, or give them a needed facelift. No wonder, the initial primary examples from this category are in the financial services industry where organizations are more interested in using the blockchain to streamline their processes than to disrupt them.

Analyzing the Intersections

We have 4 permutations:

  1. Creating New Business Models with Public Blockchains
  2. Creating New Business Models with Private Blockchains
  3. Supporting Existing Models with Public Blockchains
  4. Supporting Existing Models with Private Blockchains
In the following graph, I’ve entered a sample of company examples, for illustrative purposes only. Of course, there are many others. Blockchain Applications Segmentation

A few observations about this.

Few incumbents will succeed in deploying blockchain applications to enable new business models. The innovator’s dilemma will prevail. Even if they aspire to, they must first get their feet wet within their business boundaries.

In the new business models category, the starting point is zero users. Applications need to acquire users, one at a time. In many cases, a new user behavior is part of the experience, and there is a bottoms-up adoption that takes place.

If a startup is going after existing organizations as their key customers (Existing Models X Private segment), they need to realize that their success will be bound by the speed of implementation that these companies adopt.

The top left segment, “New Business Models X Public” is the equivalent of a new world, not unlike the Web economy’s. It will be the most difficult segment to grow initially because a large number of technology services that are underlying these applications are native to the blockchain, e.g. identity, payments, transactions validation, arbitration, decision-making, storage, messaging, etc. The bar is higher, but once all these elements are in place, then the sailing will be smoother.

When comparing these 4 categories, there is no good or bad blockchain applications segment. There are benefits to be realized for each one of them, although the type of innovation and implementation tactics will be different, and we need to keep an open mind that the boundaries between these segments will likely blur into the future.

]]>

The Crypto-Tech Platforms Landscape via a Network Effects Lens

I’m expanding on the Network Effects question that I introduced in my previous post, It’s Too Early to Judge Network Effects in Bitcoin and the Blockchain.

Some of my thoughts are in the below Tweetstorm, Is Bitcoin Really TCP/IP. But we need to realize (and accept) that the “One Currency-One Blockchain” paradigm is being challenged.

There are five variations on Crypto Technology Platforms that are emerging, as depicted in the following diagram: Screen Shot 2015-01-13 at 5.52.12 PM

And to complicate things further, some of the platforms like Truthcoin have two currencies: a native currency and Bitcoin. Others like Ethereum allow you to create your own cryptocurrency.

I’m going to ask some questions, without totally answering them, but you will see my bias towards Blockchain Apps as the ultimate Network Effects leveler, and not Bitcoin users as we see them today.

Yes, currency effects bring liquidity, but Blockchain effects bring the Apps. Both have users. Will currency network effects drive blockchain network effects, or are blockchain network effects more related to the blockchain apps specifically?

Is Cryptocurrency Fuel or Toll?

Keep in mind that today, 99% of the revenues in the Bitcoin network are mining related. But going forward, that ratio is expected to shift towards transactions.

How about Developers?

Although a cryptocurrency needs users, I think the important thing for a blockchain will be developers. They will ultimately be the ones creating these Apps.

How about Interoperability?

Eventually, we will see a degree of interoperability between blockchains, and we will see more inter-liquidity between Cryptocurrencies. Of course if Apps are on the same blockchain, it will be easier for them to interoperate, and there is some gain in network effects, but that may not be the dominant factor if blockchains interoperate nicely. And as for cryptocurrency liquidity, that will be achieved fairly soon via exchanges, allowing you to easily convert from one currency to another.

So, back to the main question:

Which Network Effects are more Important: Cryptocurrency or Blockchain?

]]>

Blockchain Apps: Moving from the Jungle to the Zoo

In a previous blog post, I made the somewhat exaggerated, but audacious statement that the advent of blockchain technology would prompt developers to rewrite just about everything in favor of blockchain-based architectures.

The reality is that decentralized apps are not for everything, and not everything fits a decentralized app paradigm. However, there are lots of applications that do fit the blockchain distributed paradigm, and that presents a good amount of opportunities for developers, creators, and visionaries.

So, I’m going to take a step back and start referring to Blockchain Apps, instead of decentralized apps because the blockchain is the common denominator, not decentralization. Decentralization can have degrees of subjectivity, and although it is a noble goal that I fully support, it might arrive in a stepwise, gradual manner. Therefore, decentralized apps are a subset of blockchain apps.

In this post, I’m going to describe and classify Blockchain Apps via a Blockchain-agnostic lens for two reasons: 1) to avoid the Blockchain multiplicity debate, and 2) to make the point that (most of) these types of applications should be possible, no matter which Blockchain, sidechain or other decentralized consensus model is chosen.

First let’s define what decentralization is, and what types of Apps fit the blockchain paradigm. Then, I’ll offer a simple, yet user-centric, generalized categorization of blockchain applications. It is the result of my own synthesis, and it is partially informed by David Johnston’s seminal paper defining the general theory of Decentralized Applications, Dapps, by Ethereum’s vision, and my regular interactions with developers and actors in this space, notably Vitalik Buterin.

Decentralization vs. Decentralized Organizations

It’s important to separate the characteristics of Decentralization vs. those of a Decentralized Autonomous Organization (DAO’s) in the context of blockchain applications. A DAO merges the political/governance principles of decentralization with the systems/architectural constructs of the blockchain decentralized consensus principles.

Decentralization:

  • There is no center.
  • Virtual governance and trust are distributed natively into the network.
  • Users have a voice that counts permanently, not just when it’s voting time.
  • Users own their personal data, and they can take it anywhere if needed.
  • Users are protected from central abuse, failures or control.
  • Decisions are based on decentralized consensus.
  • Transaction costs are low, or at least lower than center-led alternatives.
  • No single entity controls a majority stake in ownership, trust or governance.

Decentralized Autonomous Organizations:

In addition to the Decentralization characteristics above;

  • The DAO issues its own currency and intrinsically ties it to its own performance and operations.
  • The “autonomous” part is the highest hurdle and milestone to achieve; it means that the creators aren’t needed once the DAO is up and running.
  • Users stake is linked to “tokens” representing ownership, which is earned by performing some work on the network that is rewarded by these tokens, or by buying such tokens.
  • Every user contributes to the whole DAO’s well being, and helps to increase its value by virtue of their usage of the DAO services, as that is the DAO’s most native and atomic unit of value.
  • Transferring value is cryptographically secured and cannot be randomly enacted between parties that aren’t cryptographically trusted.
  • Key records are cryptographically stored in a public blockchain that adheres to a decentralized consensus protocol.

What kinds of Apps are suited for the Blockchain?

This comment by Vitalik Buterin depicts the criteria really well:

“Blockchains are useful for decentralized consensus on databases that update themselves according to non-commutative (ie. order-dependent) state transition functions.”

I will leave up to you to interpret this general classification, and if your imagination is running wild, that’s great, because you will therefore find many applications that fit the blockchain paradigm within your own world.

So, how do we classify the types of decentralized Apps that we might see which fit the blockchain paradigm?

The below graph and tables illustrate these classifications, and I will narrate them, sequentially.

Screen Shot 2014-12-30 at 9.05.16 PM

The currency related segment targets money transfers, payments, tips, or funding applications The end-user typically goes to an exchange or uses their own wallet to conduct such transactions, benefiting from transaction cost reductions, speeds in settlements, and freedom from central intermediaries. Today’s exchanges are centralized, but it’s likely we’ll see another generation of decentralized trusted exchanges. And although the current Bitcoin wallets today are “dumb” wallets, they could become smarter, via an ability to launch smart contracts.

Pegged services to the blockchain represent an interesting segment, because these Apps utilize the blockchain’s atomic unit which is a “value store” capability, but they also build on top of that with their unique off-chain services. For e.g. decentralized identity or decentralized ownership is a horizontal blockchain service, but it can be applied to any other vertical segment, such as for videos, music, or photography, just to name a few simple examples.

Smart contracts are small programs or scripts that run on a blockchain and govern legal or contractual terms on their own. They represent a simple form of decentralization. They will become available in a variety of application areas such as for wagers, family trusts, escrow, time stamping, proofs of work delivery, etc. In essence, they are about moving certain assets or value from one owner to another, based on some condition or event, between people or things. Smart contracts represent an “intermediate state” between parties, and we will trust these smart programs to verify and take action based on the logic behind these state changes.

Legal issues aside, a Distributed Autonomous Organization is “kind of” incorporated on the blockchain, because its governance is very dependent on the end-users who are part-owners, part-users, and part-nodes on that decentralized network. Key aspects of a DAO are that each user is also a “worker”, and by virtue of their “work”, they contribute to the value appreciation of the DAO via their collective participation or activity levels. Arguably, Bitcoin itself is the “uber DAO”.

Category

Protocol User

Frequency

Benefits

Examples

Currency

Exchanges, payment processors, miners, wallets.

Sporadic

Cost, speed.

Coinbase ChangeTip *any wallet* *any exchange*

Pegged Services

Web Business

Chronic

Openness, flexibility, new business models, network effects, empowered users.

OneName Mine Swarm Streamium OpenBazaar Assembly

Smart Contracts

Contracts Service Provider, Web apps, or end-user with self-service tools.

Episodic

Autonomy, cost, speed, irrefutability.

Mist (by Ethereum) SmartContract Secure Asset Exchange

Decentralized Autonomous Organizations

DAO itself

Habitual

User protection, user voice, user governance, transparency, self-regulation, sovereignty.

La’Zooz Storj MaidSafe OpenGarden Bitnation

There may be more categories perhaps…but that’s how I’m seeing them today. The examples given are only a sample.

Users Have Only Two Questions: What and Why?

For each segment, there’s a simple question in a user’s mind: “What is the benefit to me?”, and “Why should I participate?”. Blockchain App providers should be focused on answering these questions clearly and via compelling arguments.

Some kind of common vocabulary and understanding from both sides of the equation;- developers and end-users, will help market adoption. I’m afraid that technical superiority or arrogance alone will not help.

This was a market-centric view, not a technology stack view. For the sake of end-users, I’m proposing that we remain focused on these categories of applications as a way to focus our attention on what needs to happen for a successful evolution and adoption of blockchain-based apps.

This also serves a dual purpose. First, to motivate the Blockchain & Bitcoin developers to rise above their jargon. Second, it’s a message that, as end-users, if we are to be exposed to these new cryptography “animals”, we prefer the experience of a zoo-like environment where the animals are identified and mostly caged, docile or restricted, versus a jungle environment that is full of surprises, adventure, and unexpected uncertainty, which are annoying factors that make it a lot more difficult to appreciate, let alone be tempted to explore for the average consumer.

Although innovation and early markets typically start as messy creatures, maybe it’s time to put some order into the current cryptography jungle.

]]>

The Blockchain is the New Database, Get Ready to Rewrite Everything

via shutterstock via shutterstock[/caption]

If you understand the core innovations around the blockchain idea, you’ll realize that the technology concept behind it is similar to that of a database, except that the way you interact with that database is very different.

The blockchain concept represents a paradigm shift in how software engineers will write software applications in the future, and it is one of the key concepts behind the Bitcoin revolution that needs to be well understood. In this post, I’d like to explain 5 of these concepts, and how they interrelate to one another in the context of this new computing paradigm that is unravelling in front of us. They are: the blockchain, decentralized consensus, trusted computing, smart contracts and proof of work / stake. This computing paradigm is important, because it is a catalyst for the creation of decentralized applications, a next-step evolution from distributed computing architectural constructs.

Screen Shot 2014-12-23 at 10.30.59 PM

These concepts are computer engineering related. They are technical in nature, but they will have business implications, because they are capturing the imagination of developers and business visionaries who are rushing to create a new generation of applications.

But this is not just a computing phenomena. Decentralized applications are going to enable a decentralization trend at the societal, legal, governance and business levels. As I wrote earlier, There is a Race to Decentralize Everything and Give Power to the Edge of the Networks, so, let’s get ready to understand these concepts.

Decentralized Consensus (on or off Bitcoin’s Blockchain)

To fully understand the blockchain concept and the benefits of cryptography in computer science, we need to first understand the concept of “decentralized consensus”, a key tenet of the crypto-based computing revolution.

Decentralized consensus breaks the old paradigm of centralized consensus, i.e. when one central database used to rule transaction validity. A decentralized scheme (which the Bitcoin protocol is based on, transfers authority and trust to a decentralized virtual network, and enables its nodes to continuously and sequentially record transactions on a public “block”, creating a unique “chain”, the blockchain. Each successive block contains a “hash” (a unique fingerprint) of the previous code, therefore cryptography (via hash codes) is used to secure the authentication of the transaction source and removes the need for a central intermediary. The combination of cryptography and blockchain technology together ensures there is never a duplicate recording of the same transaction.

What’s important here is that with this degree of unbundling, the consensus logic is separate from the application itself, therefore applications can be written to be organically decentralized, and that is the spark for a variety of system-changing innovations in the software architecture of applications, whether they are money or non-money related.

You could think of Consensus as the first layer of a decentralized architecture. It is the basis for the underlying protocol that governs a blockchain’s operation.

The Blockchain (and Blockchain Services)

A blockchain is like a place where you store any data semi-publicly in a linear container space (the block). Anyone can verify that you’ve placed that information, because the container has your signature on it, but only you (or a program) can unlock what’s inside the container, because only you hold the private keys to that data, securely.

So the blockchain behaves almost like a database, except that part of the information stored, its “header” is public.

The data stored can be a token of value, or a crypto money balance. So, the blockchain acts as an alternative value transfer system that no central authority or potentially malicious third party can tamper with (because of the encryption process). It’s based on the public/private hegemony, which is the yin-yang of the blockchain: public visibility, but private inspection. It’s a bit like your home address. You can publish your home address publicly, but that doesn’t give any information about what your home looks like on the inside. You’ll need your private key to enter your private home, and since you have claimed that address as yours, no one else can claim a similar address as theirs.

The blockchain can also be seen as a software design approach that binds a number of peer computers together that commonly obey the same “consensus” process for releasing or recording what information they hold, and where all related interactions are verified by cryptography.

Smart Contracts (and Smart Property)

Smart contracts are the building blocks for decentralized applications. A smart contract is equivalent to a little program that you can entrust with a unit of value (as a token or money), and rules around that value. The basic idea behind smart contracts is that a transaction’s contractual governance between two or more parties can be verified programmatically via the blockchain, instead of via a central arbitrator, rule maker or gatekeeper. Why depend on a central authority when 2 (or more) parties can agree between themselves, and when they can bake the terms and implications of their agreement programmatically and conditionally, with automatic money releases when fulfilling services in a sequential manner, or incur penalties if not fulfilled?

Here’s a simple example of a smart contract to “sell 100 beanie babies” using a form of natural contract programming language, based on Ethereum.

Screen Shot 2014-12-27 at 1.28.05 AM

The starting point that you assume when applying smart contracts is that third party intermediaries are not needed in order to conduct transactions between two (or several) parties. Instead, the parties define and agree on simple (or complex) rules, and they embed them inside the transactions, enabling an end-to-end resolution to be self-managed between computers that represent the interests of the users. Smart properties are digital assets (or things) that know who their owners are. Their ownership is typically linked to the blockchain.

Trusted Computing (or Trustless Transactions)

When you put the concepts behind the blockchain, decentralized consensus and smart contracts together, you start to realize that they are enabling the spread of resources and transactions laterally in a flat, peer to peer manner, and in doing that they are enabling computers to trust one another at a deep level.

Whereas institutions and central organizations were necessary as trusted authorities, a certain number of their central functions can be codified via smart contracts that are rather governed by decentralized consensus on a blockchain.

Namely, due to the blockchain’s role as the unequivocal validator of transactions, each peer can proceed and trust one another, because the rules of trust, compliance, authority, governance, contracts, law, and agreements live on top of the technology.

If you fast forward to a not-too-distant future, smart contracts and smart property will be created, dispensed or executed routinely between consenting parties, without either of them even knowing that blockchain technology was the trusted intermediary.

Arguably, “trusted computing” on the Web is a key tenet of the new crypto-driven paradigm.

Proof of Work (and Proof of Stake)

At the heart of a blockchain’s operations is the key concept of “proof-of-work”, an integral part of Satoshi Nakamoto’s original vision for the blockchain’s role as the unequivocal authenticator of transactions. The “proof of work” is a “right” to participate in the blockchain system. It is manifested as a “big enough hurdle” that prevents users from changing records on the blockchain without re-doing the proof of work.

So, proof of work is a key building block because it cannot be “undone”, and it is secured via the strengths of cryptographic hashes that ensure it authenticity.

But proof of work is expensive to maintain (estimated cost of $600M per year for Bitcoin), and may run into future scalability and security issues, because it depends solely on the miners’ incentives which will be declining over time. An upgraded solution is “proof-of-stake” which is cheaper to enforce, but more expensive/difficult to compromise. Proof of stake not only determines who gets to update the consensus, but it also prevents unwanted forking of the underlying blockchain.

Edging Towards a Decentralized World

There will be a rush to develop new decentralized apps as a way to enable the decentralized world that we are edging towards.

To that end, business leaders and visionaries will need to learn a new vocabulary around crypto-related frameworks. Developers need to learn how to write decentralized apps that are enabled by blockchain technology. And end-users need to learn how to create or use smart contracts, e.g. as depicted via the Mist browser vision (Ethereum), which is a mix of marketplace discovery, management dashboard, and creation platform, all-in-one.

I recently outlined a comprehensive list of Bitcoin White Papers, and there were lots of protocols and proposals, but a protocol alone doesn’t make a robust development environment. We will need to see comprehensive development environments that support a full stack of capabilities and value-add components on top of the blockchain services and consensus engines.

The original Bitcoin blockchain technology had limitations as we started to push its limits outside of money related services and into the software applications realm, so we shouldn’t be surprised that the way forward is a world of multiple blockchains. Some of them will be working together, some competing with one another, and others just being benevolent to each other.

Despite all the excitement and high expectations surrounding blockchain technology, there will be important issues that need to be addressed pertaining to deployment, scalability, security, and robustness, and many of these challenges are being worked on today.

Decentralized Apps will come in different flavors, sizes and complexity levels, so we must be prepared for that variety, and we must see beyond the Bitcoin promise to be the Internet of money, and into the Blockchain’s promise to become a new development environment, just as Web development was the new paradigm back in 1996.

Update: Also read Part II and Part III Blockchain Apps: Moving from the Jungle to the Zoo It’s Too Early to Judge Network Effects in Bitcoin and the Blockchain.

]]>

Venture Capital, Entrepreneurship, Marc Andreessen, B2B, SaaS, Growth Hacking, User Experience – Roundup #20, Nov. 24 2013

Startup Management is a manual selection of 15 article links from the hundreds of weekly articles being curated. Previous issues are available here. For regular updates, please visit the website’s River of news (as a stream), or Magazine view (by category).

Venture Capital and Global Ecosystem

A lot of good articles this week in the Venture Capital and global Ecosystem categories. Rather than list them here, here are the direct links for these categories: Venture Capital and Ecosystem.

Marc Andreessen

Here’s a transcript of an insightful interview of Marc Andreessen by Andy Serwer of Fortune, Inside the mind of Marc Andreessen. Must read. He talks about the state of IPOs, building long lasting companies, disruptive models, the shared economy, and where advertising and marketing are going.

B2B Marketing

There is a certain grind to B2B marketing in the early stages of growth. In Five Content Marketing Growth Hacks for Enterprise Startups, Ross Simmonds outlines 5 of these activities: 1) Webinars, 2) Presentations, 3) Videos, 4) Case Studies, and 5) Content.

VC/Entrepreneur Relationship

Brad Feld says to Create Structure out of the Gate and You’ll Thank Yourself Later, via a guest post by Ari Newman, where they advocate to treat your early debt investors like board members and institute structured governance expectations from them.

Raising Venture Capital

Alex Turnbull, CEO/Founder of Groove has 5 questions you need to ask yourself prior to taking VC money, in Why I Turned Down $5 Million in VC Funding. Bottom line is that your goals and the VC’s need to be aligned. There’s a good discussion in the comment section of that post, and on USV.com.

Employee Equity

Andy Rachleff of Wealthfront had a long post in First Round Review, The Right Way to Grant Equity to your Employees, where he lays out a process, some principles and formula. Fred Wilson responded, mostly agreeing with Andy, but pointing to a difference in how equity is to be calculated, in Employee Equity.

Product Management

Top Hacks from a PM Behind Two of Tech’s Hottest Products from First Round Review is a long read, but contains some really good nuggets of practical advice in product management from Todd Jackson who worked for Mark Zuckerberg and managed the fine line between Mark’s vision demands and the product development realities. “You can’t leave any chance for misunderstanding, or for even one person to walk away from a meeting with different conclusions.” And “When engineers are motivated, even if they run into something they don’t know how to do, they’ll say, ‘We can totally figure this out. We’ve got this.

Collaboration

Ellen Gottesdiener and Mary Gorman explain How do you Turn Competing Stakeholders into Collaborating Product Partners. You’ll need to figure this out when you have customer partners, business partners and technology partners, each with diverging goals and priorities.

SaaS Strategy

There is a gem of a chart in this article by Indy Guha, The race for growth: Why SaaS marketers are feeling the pressure. Developed by Bain Capital Ventures, and named “The “Revenue Pit-Crew for Cloud Apps Growth”, the table breaks the key enterprise SaaS tools by the various needs and outcomes: 1) qualified leads, 2) initial buy experience, 3) churn reduction and upsell revenue, and 4) cash for growth management. Must read if you’re in the enterprise/SaaS market.

User Experience

How do you provide design feedback when a team gets together to review a product? Jake Knapp of Google Ventures has Nine Rules for Running Productive Design Critiques. Not surprisingly, tact is as important as substance. And Frank Guo says to Create Great UX in an Agile World by Conducting Lean UX Research, if you’d like to inject agility into the user experience process.

Growth Hacking

Brian Balfour outlines 3 phases of evolution in Traction vs. Growth. They are 1) Traction, 2) Transition, and 3) Growth. They correspond respectively to 1) product/market fit, 2) discovery growth levers, 3) turning up growth levers. It’s a great read, and includes the metrics you need to look at, for each phase.

Software Development Choices

Should you build mobile apps in native or cross-platform code? “40 percent of developers have started building native, only to switch to HTML5, and 31 percent have started building cross-platform, only to switch to native” says John Koetsier in HTML5 vs. native vs. hybrid mobile apps: 3,500 developers say all three, please. However, Ravi Pratap says there’s and alternative to responsive design, in Responsive Design vs. Adaptive Delivery: Which One’s Right for You? “With adaptive delivery, the most significant difference is that the server hosting the website detects the devices making requests to it, and uses this information to deliver different batches of HTML and CSS code based on the characteristics of the device that have been detected.” Finally, a third article from Abhay Parasnis on a related topic, Native, Web, Platform: What’s the best way to build a new app?, where he lays out the pros and cons of each approach, from a developer’s perspective. That SUMs it up! Don’t forget to share on Twitter,  add us to your Feedly, forward to a friend, follow on Twitter, read in Flipboard, or just visit the website often and daily. To sign-up, please click here. William Mougayar Founder & Chief Curator Startup Management]]>

Powered by WordPress & Theme by Anders Norén