Bad Rats: the Rats’ Revenge

“Smash the Cat.”

“This game is a piece of pure fiction, actually we think all animals are great!”
International box art.

You know, it didn’t always used to be this way: There was a point in time where Steam had something resembling some measure of quality control — where 90% of the contents of their digital games store wasn’t low-effort asset flips and interchangeable RPG Maker anime boob simulators. There was a wonderful era where seeing half-baked releases on the service felt something like a novelty, rather than them comprising the vast majority. And for as much as I love so-called bad games, there’s no denying that browsing Steam in this day and age can be a bit disheartening, even for me. As I said: It didn’t always used to be this way.

Before all the three-cent trading cards and gambling for gun skins, Valve had to make their money mostly on the back of actual game sales. And before users had their choice of thousands of one-dollar games to gift to their friends as a “joke,” they may have had to spend a little more and pick from a much smaller selection. For many consumers, the bad game du jour ended up being 2009’s Bad Rats: the Rats’ Revenge — more commonly shortened as Bad Rats. According to Steam’s own achievement tracking, only 12% of the game’s owners have played the game long enough to unlock what should seem to be its most easily-attainable achievement (beating 10 of the game’s 44 levels). If we’re being generous here, it’s still very likely that less than 20% of players who own the game on Steam have ever even bothered launching it. Because Bad Rats isn’t a game you’re meant to actually play: It is simply gifted and traded as a gag — an entry in your library that you can’t get rid of, and are meant to pass on to others like a plague.

… But what if you do play it? Could it really be all that bad? Is it fair for folk to judge this book by its cover? There’s a chance that Bad Rats may simply be a victim of circumstance — unfairly maligned based on its premise alone. There’s a very real possibility here that Bad Rats isn’t quite as bad as it’s made out to be. So, let’s try our best to clear our heads of preconceived notions, and give this game the benefit of the doubt it so rarely seems to receive.

“With ‘Bad Rats,’ Cats Have No Chance!”

Invent4 Entertainment has something of an interesting history as a developer. It seems to largely be the brainchild of one Augusto Bülow, working in tandem with brother Gustavo Bülow. Based in Brazil, the pair first operated under the Espaço Informática Ltda developer label formed in 1999; responsible for such titles as Winguel, Matchball Tennis, and Thoroughbred Tycoon. Obviously, none of these are necessarily what I’d call “big budget titles,” settling mostly into the niche of 2000s-era budget PC releases. Still, given that the Brazilian games development scene was in still in something like its infancy at this point in time, it was admirable to see them making some of the early strides towards international distribution and publishing.

Hades2 may well have been their flagship title — not to mention being their first-ever as a developer. Borrowing its royalty-free Acknex engine from the software suite 3D Gamestudio, it’s a pseudo-3D first-person shooter with a sci-fi theme. According to a blurb on the old Espaço Informática website, “Hades2 is the first game produced by Espaço, and became a classic in Brazil, and it’s one of the first Brazilian games with international success and publishing.” It’s difficult to gauge if it actually had any overseas sales success (by 1999, fully 3D FPS games had already quickly become the standard), but it does genuinely appear to be fondly remembered in its native Brazil, where it was reported to sell around 50 thousand copies. It was re-distributed as freeware in  2009 to celebrate its 10-year milestone, and you can still download it from this page.

As for their other titles developed in this era, none of them seemed to reach the same level of success or demonstrate the same action-oriented appeal as Hades2. The fact that they developed two separate horse-raising/racing games in this period, plus marketing Winguel as “entertainment for all your family,” seems to point to an attempt to cater to the casual games market. I can’t imagine this push was all that successful at the time, and games in this wheelhouse didn’t particularly seem to be the passion of the Bülow brothers to begin with. So, towards the end of the aughts, they dropped their old name and started fresh as Invent4 Entertainment. According to the company’s website, the name was chosen to “represent [the company’s] goal and motivation: to invent new and better products for the entertainment.” More practically speaking, it was probably just meant to make the brand seem more global, and distance themselves from their roots in the Brazilian market.

Development seemed to immediately begin on what would come to be known as Bad Rats, which seems to recycle at least some amount of code from one of their previous horse-centric releases in either Thoroughbred Tycoon or Der Pferderennstall (debug code in the game still makes reference to “HORSE CLUB”). During development, the name of the game wasn’t fully settled upon yet, with alternate titles such as “Mad Rats” and “Blood Rats” surfacing from a dive into the files. Of additional note are unused lines of code which seem to imply that online multiplayer was once an intended feature: The game’s article on The Cutting Room Floor states that “there are remnants of online multiplayer using servers, maps, and clients in the debug code.”

You get the impression that Bad Rats is probably more reflective of the developers sensibilities than their range of edutainment titles. At the very least, it certainly represents a dramatic shift in tone from those games; opting for what comes across as a subversive take on generally kid-friendly, casual-play puzzle games. As a matter of fact, it almost comes across as a sort of protest against the grade of games they had been stuck developing for the past years — something like an impassioned resignation from the casual market. They seemed plenty content with the idea that they might alienate some of their long-time fans. Even their immediate families had their concerns:

“My aunt after playing asked me, ‘Why such violence? Why kill cats?’ And the answer is simple: because they are rats. As the human being exterminated the dinosaurs, because they were putting our lives in risk, the rats, in this hypothetical parallel universe are exterminating their predators as well.” ~ Augusto Bülow, Invent4 Entertainment

Put perhaps their most bold decision was to change their distribution method: Bad Rats would not only mark their debut title under their new label, but their debut release on Steam as well. Back in the days before Greenlight or Steam Direct, publishers would have to make private arrangements with Valve in order to have their games listed — arrangements likely involving sums of money and haggling percentages and the like. Not to mention, this was still in an era where a team of Steam employees reportedly tested games for quality assurance before putting them up for sale on their marketplace. Surely, the odds were stacked against Bad Rats ever making its way to the service. But, as Augusto would recount, it all went down in a pretty straightforward fashion: “We entered by the front door. We submitted our game, and got Bad Rats approved by the Steam staff.” The rest, as they say, is history.

Of course there were games that had been developed in Brazil in the decades prior: The earliest known, Adventures in the Jungle (“Aventuras na Selva”) made its debut in 1983, intended for play on Sinclair’s ZX Spectrum line of computers. But aside from companies such as Tec Toy – who largely made distribution deals with outside publishers / only occasionally dabbled in original software – Brazil’s development scene remained largely inert until the dawn of the new millenium.
As the reporter for Steamed / Kotaku is quick to point out in his article – and as anyone educated on the subject will tell you – humans did not exist at the same time as prehistoric dinosaurs. Now, granted, recent science puts forth the argument that dinosaurs still exist today — with chickens being cited as one of several examples of “modern-day dinosaurs.” But something tells me this was not the thought on Augusto’s mind, and that he probably pictures cavemen walking about at the same time as Tyrannosaurus rexes.

“The Rat’s Revenge Gets Started.”

The game launches in the most adorable manner possible for a PC game: In an 800×600 window. Doesn’t that just take you back? It then proceeds to ruin the mood by launching into a hideous FMV intro, showing off some of the titular “bad rats” we’ll be working with in the game; including an archer, a rat cannonball, and… a suicide bomber dressed up to look like the stereotype of a middle-eastern terrorist. Yikes. Let that set the sort of tone Bad Rats is going for: Crudely-made, and crude in spirit.

The gameplay follows in the tradition of physics-based puzzle games, such as The Incredible Machine and Super Solvers: Gizmos & Gadgets. Of course, the game has its own unique take on the formula, and sets off to setting itself apart. In a more kid-friendly style of puzzle game, you might expect the goal to be something like Rube Goldberg-ing your way to blocks of cheese for your rats to feast on. But Bad Rats ain’t no kids game, no siree: The goal here is to brutally murder cats, using a variety of elaborate torture devices. And if a few of your rats need to kill themselves in the process? Acceptable losses, I reckon.

So yeah, that’s a helluva premise, innit? Quite the curious one too, considering that the cats have already been locked down with ball and chain and basically placed at the mercy of the rats as it is. Why they should have to construct these abstract prisons and waste perfectly good rats in the pursuit of triggering the death devices is beyond me, when they could far more easily just pull the trigger on their shotguns or press the button on their microwaves. But, I don’t reckon we’re really meant to think too hard about this premise, as it’s all just an excuse for gratuitous blood and booms anyhow.

The basic goal of every puzzle is the same: Find a way to navigate a soccer ball through the stage so that it can hit some sort of button or push some object over that will result in the cat being killed. To this end, the rats will often serve as a means of giving momentum to the ball; whether it be by shooting it with a projectile, kicking it across the map, or causing a self-destructive explosion in order to send it flying. You’ll also have a small variety of other prop objects (barrels, planks, balloons and so forth) in order to better position your rats or create a sort of route for the ball to follow. It’s not the widest variety of tools for a puzzle game – boasting a total of ten types of rats and seven objects – but it gives you enough to get the job done in any given level.

Each stage begins by presenting you something like a memo reminding you of your “objectives” (SPOILER: You need to kill the cat), and providing you some hints in incredibly broken English. Now, I’m not usually one to point out or make fun of bad translation — god knows it’s a far tougher process than it looks. But when it gets to the point where the messages border on completely uninterpretable, and those messages also happen to be essential to solving the puzzles in some cases, it actually presents something of a problem. Of course, Bad Rats is intended as a game where you can formulate your own unique solutions, so you might think that the hints should be inessential past a certain point. However, this isn’t entirely the case.

In the Easy difficulty, you’re given the option to toggle the “solution’s plan” on and off, which gives you a rough idea of where you might want to place your tools and rats. Also in this mode, the game allots only a partial quantity of these props dependent on the level, which sort of restricts your freedom to experiment. In contrast, the Expert difficulty gives you the maximum allotment of rats and gadgets to work with, allowing you to fully create your own solutions. The trade off here is that you no longer have the original intended solutions for reference… But, assuming you play the Easy difficulty first, and get a glimpse at the original solutions even as much as one time, you’ll probably be able to remember most of them across the game’s 44 levels? And having the full range of tools available to you gives you far more flexibility in case one of the original intended tools is a bit too finicky for your taste. So, really, the so-called harder difficulty winds up being at least slightly easier in the long run.

The selection / number of available tools isn’t the only contributor to the difficulty, though. As you might expect, stage layouts tend to get more elaborate as the game progresses, forcing you to overcome obstacles and take advantage of scenery in order to get the ball where it needs to go. For example; the game eventually introduces air vents that can propel the ball into the air and up to higher ground, though the impetus is on you to figure out how to grab the ball from mid-air and drag it back to solid ground in many of these instances. Later, you’ll have to figure out a way to time the ball’s approach around gates that open and close, which may require you to find ways to deliberately stall the ball for a short while before resuming its momentum. This all sounds fair enough on the surface, and seems like it helps add to the depth.

Soooo, here’s the first problem: You’re given full control over every individual rat and object. And while that sounds ideal on paper – giving you complete control over rotation, direction, and even timing – it also means that everything is incredibly finicky. A difference of one pixel’s positioning can seem to make or break a given solution, one degree of rotation can completely alter trajectories, and one millisecond delay in firing off a rocket or cannonball can completely change your whole timetable. My philosophy is that a puzzle game should provide at least some amount of structure or limitation, so the variables you have to account for don’t amount to what feels like an infinite.

In example: Snapping placeable objects to something like a grid would greatly help in making sure things are lined up in the ideal way, and that you can better guesstimate what path the ball will probably follow through the air. Having a set number of degrees of rotation (perhaps something like 30/45° intervals?) would take a lot of the guesswork out of toying with single-digit numbers. Having a clearer measurement of time / larger intervals in timing projectile-type objects would reduce the number of times you have to trial-and-error to dial in the exact timing you’re looking for. Sometimes, too much freedom can be overwhelming, and giving some of it up can help make things clearer.

But because everything is so loosey-goosey, it’s sometimes difficult to even place your props where you’d like them to be paced. If your object that you’re trying to put down intersects with the scenery / another object in a way the game doesn’t like, you’ll get a “Bad position” error that resets whatever adjustments you’ve tried to make — even going so far as to put your prop back away in the bottom drawer part of the screen. The other problem here is that the game will sometimes decide to start putting some rotation on objects for you based on the position you’re trying to place them, which can lead to the game inadvertently creating its own bad positioning dilemma and cancelling out your attempted move entirely! In other words: The prop-placing system is bad, y’all.

But this is only one major issue with the game. There’s another that may well surpass it in terms of ruining the game: The physics are completely random. And when I say that, I don’t mean it to say that they behave “unrealistically” or in ways that you can’t necessarily predict. What I mean to say is, you’ll never get the same result twice, even when you run the same simulation twice without any alteration. To once again put it in other words: A winning solution may not always win. At some point, there’s an element of luck involved with whether or not your arrangement will actually work on the first / second / umpteenth attempt, even when following the suggested solutions down to the letter

Let’s talk game mechanics here for a second. There are two ways a developer can approach implementing a physics model in their game — which we’ll refer to here as “procedural” or “pre-calculated.” Procedural physics determine themselves more or less on the fly; relying on random integers with the goal of making reactions seem different every time. This is fine in situations where you don’t need to interact with the objects being dispersed or affected, such as debris left behind by an explosion in something like a standard FPS title. On the other side of the coin comes pre-calculated physics; wherein objects are meant to react in a specific way based on the force applied to them and whatever they may collide with or land on. This is ideal for something like – let’s say – a puzzle game, where you want to have some level of predictability and consistency when it comes to how your objects move and react to one another.

By Bad Rats leaving its physics entirely to chance, there’s no such thing as a “guaranteed” solution, as every collision and force applied to the ball / to your props has at least some degree of chance to it. This can lead to situations where you fall just a few pixels short of your target ten times in a row, only for the eleventh run to go off without a hitch. You don’t want to hear that “anything can happen” when you’re trying to piece together an elaborate machine with the intent of hitting a small target with a relatively high degree of accuracy. This can be especially frustrating when you’re attempting achievements that rely on you solving puzzles within a certain amount of turns, or when you’re only given a limited number of tries. There’s really no excuse or justification for this: It’s just objectively bad, unfair design.

Oh, one more physics-based gripe: You may assume from the fact that the levels are presented as more-or-less two-dimensional affairs, that the balls and rats can only move across the horizontal plane. Of course, because this is Bad Rats we’re talking about – a puzzle game so poorly-designed as to incorporate random physics – objects can [and often will] roll towards you and out of the puzzle zone. There may be no feeling more frustrating in the game than seeing the ball rolling along its intended track, only for it to suddenly fall off the edge and bounce outside of bounds. If the developers were so insistent on randomized physics for their game, they could have at least put some sort of invisible wall in front of the stages to keep things self-contained.

On top of all this, none of the puzzles contained within are particularly compelling or creative. From the first level to the very last, none of them rise to the level of even mid-tier-difficult conundrums you’d find in a better puzzle game. The challenge all comes from the unpredictable physics, rather than racking your brain looking for a complex solution. Of particular frustration are stages which incorporate “spinner”-style platforms, which never seem to cooperate / angle the way you’d want them to when the ball approaches them. Again, passing these obstacles comes down to pure luck at some point, which is downright despicable design.

And what is the reward for a puzzle solved — the gratification for a job well done? Why, you get to watch a cat get brutalized in one of a small variety of ways (eleven in total). These were clearly intended to be cathartic / comedic little scenes for players to enjoy, but honestly? For what they are, they’re pretty underwhelming. The animations are basic at best, and lazy at worst, with the cartoonish gore failing to rise to the intended “shock value” that the game is aiming for. And with repeat killing devices recycled across the game’s 44 levels, you’ll eventually want to skip the overly-long animations entirely… except you can’t, presumably because they are still somehow the most elaborate animations in the game, and the developers want you to appreciate every frame of them.

For a game that seems to almost aim for a “late 90s shareware” feel and aesthetic, it’s incredible that it fails to live up to even those low standards in terms of gameplay. And to be clear; in terms of presentation, it’s a weak package. No matter how many times I tried to set the options to enable the “shadow stencils” or select a higher resolution, the game would always seem to forget my settings by the next time I launched it. And even with these shadows enabled, they do little to enhance the look of things, with the intended “grimy / grungy” setting ultimately feeling at ends with the low-poly barely-textured characters on display. Ideally, you’d wanna depict the rats as filthy, bruised, or otherwise haggard in order to convey them as being rough and beaten-down sorts. As it stands, it’s kind of incredible just how much every stylistic element of the game seems to clash with one another.

In terms of replayability, there really isn’t much on offer. You get an unlockable object for completing the game (called “Super Nails”), but they’re hardly a game-changer enough to encourage you to go back and discover new solutions to the same old puzzles. You can attempt to play for speed / see how quickly you can run through all the levels, but with the inconsistent physics, you may find yourself at the mercy of a cruel and uncaring RNG. The most fun I managed to have with the game was playing on Expert difficulty, where I could fill the screen with rats and props and basically just create total mayhem. And while it’s nice that the game affords you the freedom to mess around like that, it’s also emblematic of a laissez faire attitude when it comes to how the game was designed. It’d be fine if the game was some sort of destruction derby or physics sandbox à la Goat Simulator or what have you, but this is a fairly deliberate puzzle game we’re talking about here.

Honestly, it’s hard to shake the feeling that the developers simply did not care about their craft in the creation of this game. Everything about Bad Rats feels like it came about as a result of someone saying “that’s good enough as is” — rushed to pass with minimal effort and no real attention to detail. I’d be more willing to forgive the wonky physics if I got the impression that the developers had a genuine urge to experiment / see if a puzzle game with this model could work, but it’s my distinct impression that they are more the result of an unhappy accident — code pushed out at the last minute after every other aspect of the game was already done and dusted. As such, Bad Rats lacks the distinct charm of an overly-ambitious title, and simply comes across as a quick and dirty cash-in product. Not recommended: Not even as a gag gift.

Granted, the game does give you a whopping one-hundred attempts at any given stage, so this should never be a major concern. Even with the downright busted physics, I still managed to average something like ~15 tries per stage before landing on the right route.

“You’ll Need to Use All Your Lifting Options and Something More.”

Invent4 clearly intended for the game to get attention right out the gate on the back of it being so “shocking” and “controversial.” But that really didn’t wind up being the case: The game failed to pick up any immediate traction, with most critics content to completely ignore it and players not willing to spend the initial asking price of $5 to give it a go. From what I can gather, Invent4 basically seemed to give up on the game shortly after launch, handing over publishing rights to the game / entering a partnership with Strategy First in early 2010.

They would release Razor2: Hidden Skies on Steam a few months later — an underwhelming top-down shmup which also failed to generate any sort of traction. At this point, Invent4 seemed to fall back on what they knew best (and could likely afford to develop the cheapest): Quick and dirty edutainment titles. Between 2010 and 2013, they would develop the browser-based title Elected, another Steam release in Bridge Project, and a smartphone installment in their Winguel franchise titled ABCW: Winguel & Animals. It likely seemed to them as if their “fresh start” had proved fruitless, and that they would soon be stuck in the same old rut. That is, until 2014 rolled around, and Augusto began to notice a sudden surge in sales for Bad Rats:

“Actually I think it took [a long time] for the game to be perceived. Seven years ago, when it was released, I was expecting more [of a reaction]. It was one of the most violent and offensive video games released [in the] past decade. And it’s one of the funniest games too. […] But actually, the game started to be really discovered when some big YouTubers published some infamous reviews about the game a few years ago. They said bad things about the game, but 5% of their audience perceived it different, bought Bad Rats, and entered in love with the game.” Augusto Bülow, Invent4 Entertainment

This quote reads to me like a sort of oversimplification / revision of history. First off, we need to acknowledge the fact that Bad Rats greatly benefited from becoming “bundle fodder” — a filler game fit for lower-rent bundle sites that had begun to pop up with the then-recent popularity of Humble Bundle. Bad Rats’ bundle debut came on May 27th, 2012 as part of Indiegala’s “Indie Gala 5” bundle; which just so happened to feature Razor2 and a number of other Strategy First titles as well. It would pop up again in Indiegala’s “Mixed Up Bundle” two years later, expanding their playerbase that much more. It was here that the game first started being considered as gag gift fodder, and at this point it would eventually lead to some popular YouTubers picking up on the game and showcasing it to their audiences.

Finally, Invent4 had a new “hit” on their hands, and there was only one thing for them to do now: Milk it dry. Invent4 would quickly drop the sale price of the game to $1, in order to ensure the game remained at an ideal price point for a gag gift even when it wasn’t being packaged as part of cheap bundles. Soon after, they would begin to try and generate buzz for a sequel, which would eventually release in July 2016 as Bad Rats Show. In order to entice big name YouTube channels to again help get the word out about the game, they sent out a number of “Bad Rats’ Golden Tickets” (free CD keys for the game) to select personalities, enticing them to produce videos of the game in action and whatnot. In case you’re curious: Bad Rats Show manages some slight improvements on the original while also trying way harder to be shocking, but still isn’t particularly compelling in any real positive way.

Bad Rats Show (Invent4 Entertainment / Strategy First, 2016)

At this point, Invent4 seem content to coast on their newfound infamy, with them able to count on consumers to continue buying the game and perpetuating the meme and so on. As long as folk think they’re being clever or funny by “ironically” handing Invent4 their money, it will continue to provide a revenue stream for them long after Bad Rats’ initial release. Though, one has to wonder: Do they regret trading in their pride as game developers for the easy money? If you take Augusto at his word, the answer to that question is “no”:

“I’m completely OK with the game situation. I feel happy with all the people that love (and hate) Bad Rats series. […] The original Bad Rats was a game planned to be funny. If people are laughing while playing the game, that’s fine. The game reached its objectives.” ~ Augusto Bülow, Invent4 Entertainment

Despite that seemingly positive outlook, there does seem to be some indication that Invent4 is at least slightly resentful of press / reviewers who take umbrage with Bad Rats: In a Facebook post from 2016, they seem to celebrate the fact that games critic James Stephanie Sterling (who released an unflattering video review of Bad Rats Show just a couple months prior) was in the process of being sued by Digital Homicide to the tune of $10 million, going as far as to toss in a cheap shot at them for their weight; a clear sign that Augusto and company are most definitely, totally, not at all angry about people who are critical of them.

Invent4 desperately trying to goad James Stephanie Sterling into giving them more attention.

Seriously though: What this indicates to me is that Invent4 really is fine with the hate that Bad Rats receives… so long as it’s presented in a very particular, marketing-approved fashion that might translate to additional sales / furthering curiosity. For example: They seem to have no issue with the number of clearly ironic Steam reviews that put the game over so strongly as to obviously indicate that it’s ““secretly”” terrible, or negative reviews that encourage pestering your friends by buying them the game. The second you actually start insinuating that folk probably shouldn’t waste their money on the game, Invent4 stops laughing and starts hurling insults.

Invent4’s most recent release, Fat Rat Pinball, is a smartphone title which continues the trend of them cashing in on Bad Rats’ bad reputation. Like all their other games, it seems totally middling — though even more deliberately so this time around than some of their prior works. I’d be surprised to see if Invent4 ever bothers again putting care into their craft: They likely feel as if they’ve tried and failed at that approach enough times to discourage them for good. And besides; why bother when you can just half-ass your new game, toss a couple rats in there, sit back, and watch the money roll in?

Of course, at some point, consumers will eventually tire of the gimmick, and the rats will stop raking in the cash like they used to. And at that point, their reputation as a developer will be so damaged, nobody will be willing to give them the benefit of the doubt / care enough to see if they can actually improve themselves. But that’s the deal they made, and they’re probably just as aware of the eventual outcome as we are. Hell, I wouldn’t be shocked to see them rebrand again somewhere around the turn of the decade, try to distance themselves from Bad Rats entirely, and start fresh once again in the hopes that nobody catches on. Or maybe they’ll keep trying to milk the rude rodents past the point where there’s any return, and desperately attempt to find notoriety in some new way. In either case, this is the bed they’ve made for themselves, and it’s their fate to rest in it.

“The Bad Rats Show is a good way to treat friends you sort of kind of really hate. […] If you hate yourself, or enjoy upsetting your friends with presents they will hate, this is the game for you.” ~ Invent4 Entertainment


“Espaço Informática | Hades2 – Free.” EspacoInf.com. September 20, 2009. Web.
Gloria, Rafael. “Detalhes da produção de um jogo.” Nonada. September 9, 2010. Web.
b c d Grayson, Nathan. “Meet The Proud Creator Of The Worst Game On Steam.” Steamed. July 22, 2016. Web.
“Bad Rats 2: The Bad Rats Show Available On STEAM.” Press release available on Gamasutra. July 20, 2016. Web.

Cassidy is the curator of a bad video game hall of fame. Whether you interpret that as "a hall of fame dedicated to bad video games" or as "a sub-par hall of fame for video games" is entirely up to you. Goes by "They / Them" pronouns.

Genuine cowpoke.

Contact: E-mail | Twitter

This entry was posted in Game Reviews and tagged , , , , , , , . Bookmark the permalink.
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments