Tobold's Blog
Friday, February 05, 2010
 
Ensidia banned for killing the Lich King

MMO Champion reports that the 25 Ensidia members who participated in the "first" 25-man Lich King kill have been banned for 72 hours. Quote:
Date of Violation: 03/02/2010
Type of violation: Exploitation – Abuse of in-game mechanics or glitches with intent to exploit or cheat in World of Warcraft.
Details: Use of Saronite Bombs to bypass The Lich King fight mechanics
Consequences for Account: Account suspended for 72 hours, all items and achievements gained removed
Now it should be very clear from my general writing that I am not a huge fan of uber guilds like Ensidia. Nevertheless I find this decision of Blizzard against Ensidia somewhat harsh, considering the fact that they didn't do anything different than they do in other raid encounters. They just happened to have a rogue who was using instant cast Saronite bombs as part of his damage in all sorts of fights, and it just so happened that there was a bug which caused the use of Saronite bombs to reset a part of the encounter and make it much easier.

Removing their achievements might have been justified, just like if some bug had caused a raid boss to drop over dead. But I don't see how it can be justified to suspend their accounts for 3 days for an "exploit or cheat in World of Warcraft". This wasn't some wall hack or obscure kiting tactic to exploit WoW, it simply was an engineer using the best engineer bomb for some added damage, and a bug in Blizzard's code causing that to have unforeseen consequences. The fault is very much Blizzard's own, not Ensidia's. Ensidia lives of their reputation, and the "you only got the first kill because you used a bug" is already hurting them. No need to add insult to injury and also ban them.
Comments:
It's probably just to discourage other guilds from using this tactic until the bug is fixed.
 
I felt almost exactly the same way as you do Tobold, this changed when a good friend of mine explained that this same guild has been caught discovering and using exploits in "world first kills" before. If they are repeat offenders then I'm afraid this sort of suspension is justified in my opinion.

Kleedrac
 
Tottally aggre with you that this is a harsh reaction from Bliz. Obviously an overeaction. This makes me wonder how far they are willing to take their crusade against hardcore guilds. 5 years ago, vanilla wow, hardcore guild players was really famous, had lots of epix the average player was nowhere near and was doing instances that softcore guilds had no chanse of getting into. Old Nax for instance - that was a harsh experience for me atleast. Now its all gone. Only thing left seems to be getting on top 10 of first kill list. And as soon as that happens, LK is nerfed so we all can kill him. And this last straw.. banning them for something like this. Its stomping on them and spitting on them. Bliz saying clearly : we don`t want you Ensidia and all you super hardcore`s. Get with the program and get a life. Im glad I made that left turn away from hardcore raiding in BC.
 
They hotfixed the problem before they banned ensidia. To be honest it is very difficult to say who is right here since we don't know the details. Might be that they noticed the bug on the first or second try but instead of stopping to use saronite bombs they just kept using the bug to get their kill. We simply don't konw
 
Discouraging other guilds is silly, since by the time I heard about their ban, the same page was showing news of the hotfix that prevents other people from exploiting the same bug.

I think the "with intent to exploit" is questionable -- I don't like how they're handling things like this these days. Sure, we're only given Ensidia's side of the story, but their side is quite convincing.

If a bug in Blizzard's code is making the fight easier, you get banned for beating it, even when you have no idea what's causing the fight to be bugged? Are people expected to just stop attempting the fight when they encounter an issue like this, when world-first kills are at stake, in fear that they'll get banned for "exploiting" it?

I'm also a little saddened that a tactic rogues in guilds like these use all the time managed to slip through QA so easily.
 
It also gives a message that "We don't coddle the big, well known powerful raiding guilds". EVERYONE is held accountable for exploiting bugs, and it isn't just raiding guild that isn't #1 that gets hurt for their action.
 
The key point is whether or not Ensidia observed the buggy behaviour and then sought to replicate it to trivialise the encounter, because make no mistake experienced raiders like these would have recognised that the encounter wasn't working as intended (esp. after doing Arthas/10). There's a fair chance discussion of this would crop up on TS and Raid-chat, and Blizzard would have access to logs of the latter from which they may have made a decision.

If Chat-logs indicated a considered attempt to exploit obviously unintended game mechanics (which these were) then Ensidia deserve just as much of a slap on the wrist as Exodus for exploiting on Yogg+0. Funnily enough, the punishment dolled out to Ensidia is exactly that levelled against Exodus. It should also be worth mentioning that Ensidia have form: they've previously exploited bugs in order to gain World-first kills of major raid bosses.

We don't have enough information to lay blame one way or another, but I'm not going to go ahead and lay all the fault at Blizzards door.
 
Was there "intent to cheat" in the chat logs? For instance, someone saying "hey look my saronite bombs bug the encounter so we can cheese it" and the raid leader saying "ok, let's use that."

I don't know whether there was but as outsiders we may not be seeing the full picture.
 
I agree 100%.
They didn't even know it was a bug, because the "bug" happened at every single try.

Blizzard should take the blame for that and apologize.
 
There has been quite a few comments in Larísa's blog about this subject, and I had a look at one of the links: http://www.legacyofsteel.net/oldsite/arc27.html. Pretty much word for word rant, in fact the only things that were changed were to make it relevant to WoW.

So, was it a real rant, or someone having some fun (notwithstanding the ban, etc)?
 
Personally I don't see it as harsh. 3 days? for something as high profile as the raid was. I've seen players compare and use that as a defense. I don't think Blizzard would treat it that way. I think it is because of this particular raid and the circumstances.

I used to deal with this kind of ethical gloss-over all the time when I played table-top games with friends.

I'm sure they knew exactly what was going on and chose to proceed. Then they chose to brag about it.

Yes, it's a game, but if I were Blizzard, and for many reasons of not wanting to inflate similar problems or let players think they can use the gloss-over,and for who knows what other reasons, I would have done the same.

And 3 days? I know I'm not young anymore, but 3 days goes by pretty fast, especially if you occupy yourself with anything.

And now for something entirely different...I don't like how I'm limited to my ancient blogger name...guess I'll have to go sign up with a compatible service, again:)
 
Let me explain my point of view with an example: King Ymiron, the last boss of Utgarde Pinnacle (heroic) has an ability that stuns every member of the group for several seconds. I found out that my mage can avoid that boss ability by using Blink, which blinks me out of the stun. Thus: standard character ability, used to avoid suffering the full effects from a scripted boss event. Should I get a 72-hour ban for exploiting?

I don't think so, because I'm just using the standard abilities that Blizzard gave me. If they intended that this stun should have been unbreakable, it would be their responsability to code it so. And exactly the same thing happened to that rogue in Ensidia: He was using a standard ability of his profession, the same he uses in other raid encounters. Then he notices that this negates a boss ability. The natural reaction is patting yourself on the back for having found out a clever strategy, not wondering whether that is a bannable offense. Because if Blizzard didn't want siege damage to reset the frozen throne, they would only have to code it that way.

Whether some people don't like Ensidia, or suspect them of previous exploits, is of no relevance at all. The big question is WHEN IS A TACTIC AN EXPLOIT? The whole game of beating a boss is how to use YOUR abilitites to beat HIS abilities, so using one of your standard abilities to negate the impact of one of the bosses abilities is just normal part of the gameplay.

What is next? Banning people for healing, because healing negates the bosses damage? Banning people for using fire resistance abilities against fire damage?
 
Like I already commented on two other blogs (and yes, I do kind of feel silly about it), what really wrongs them is that they kept it secret. They may not have intended it, they may not have realised exactly what's causing it, I'm willing to believe them in both those points.

But they did notice that something weird and out-of-order is going on, and did not, at least after the kill, come out and immediately let the world know "we killed him, yay us, but there's some weird thing going on that kind of screws and trivializes part of the fight, it really should be looked into". Instead they kept quiet as long as they could. I do, in fact, agree that the ban is (too) harsh, but I'm having trouble seeing them as the innocent victims here.

As for the Blink-example, it is flawed because Blink is supposed to get you through space and out of incapacitation - whether a specific incapacitation should be immune to its effect is another question, but, on a ground level, you are using the skill as it is intended. You won't be banned for "negating boss damage through healing", because that's what healing is fundamentally supposed to do.

Bombs are not supposed to repair. Bombs are supposed to destroy. And if you think I'm nitpicking, I have a counter-example. Imagine the bombs would have, also unintended and due to a bug, actually had a destructive effect on the platform, making the encounter harder, instead of easier. What do you think how long it would have taken them to precisely figure out what's going on and adapt accordingly? Over/under 10 minutes?

Players tend to have a selective perception of bugs - if we benefit from it, it's somehow "not so bad".
 
Just cant understand why people pays for a game and then get banned

Srsly return the bank bill of that month , you cant allow to be threated like that for being good in a game
 
A question I would like to throw out there is: what would it have looked like if Blizzard communicated and fixed the bug, but only took away their loot and achievement? Would the kill still stand as a world first, which does not matter to me at all, but I am guessing matters to dozen or more guilds that are in the race.

By banning them Blizzard made the ruling crystal clear basically: it was not a world first, which is why all the rage from Ensidia.

The true attitude from Ensidia would be if all this happened to some other guild, would they react in the same way?

Even though yes, Blizzard overlooked an exploitable bug, a parallel might be drawn: if you discover a bank left its' doors open while you're walking by it at 2 am, and you go in and take the money, you wouldn't be at all surprised when the police come knocking at your door. Opportunity does not excuse (poor) judgment.

And all the arguments "you would do the same were you me" would not make the judge very sympathetic to your case, would it?

The major component of wrong doing is the intention, the major difference here being that there were 25 people, and any rational court would have a hard time discerning if there was intent and when did it present itself. So Blizzard blanket punished everyone, since punishing no one would paint them biased.

As they say on television: if you cant do the time, dont do the crime - if you are not prepared for the unexpected bugs on untested content, do not chase world firsts. But certainly do not use the bugs, then blame Blizzard that they are there, and on top completely deny your own responsibility in the mess.
 
Tobold, you and I often disagree about the relative merits of hardcore raiding. But in this case, I think you are bang on. I think that Blizzard has once again resorted to the 'ban hammer' un-necessarily.

Let's consider two relatively well known cases. Firstly, we have a guild who's name I can sadly no longer remember, but they were a horde guild on Korgath-US, and were the local progression rivals of Death & Taxes in the original Naxx days. They were banned for using a terrain exploit whereby you could wall walk, and walk on invisible paths to reach C'Thun in the old AQ40. They had already beaten the raid normally, and were using this exploit to farm. This seems like a fairly clear cut case where banning is appropriate. The guild decided, collectively, to use mechanics that are expressly banned in the ToS (though I hate using that capricious document as some kind of 'law').

Second, we have the current case of Ensidia. There, a Rogue using a weapon that Blizzard added to the game, continues to use it in a new fight. For his ingenuity, he is banned, as is the rest of his guild, though it is only for three days. We could play the game of "Did He Know It Was A Bug?" But that kind of speculation is idle at best. Really, we should demand of Blizzard that they at least admit their mistake in this case. They have to assume that raiders, especially those of the cutting edge of raid content, will try everything they can think of to beat new bosses. Indeed, that is supposed to be the challenge - going into a fight that no one has ever done before and trying to figure out how to beat it.
 
I don't think many of you understand what they had to do to trigger the glitch, or the extents to which they went to cover it up.

In order to reset the platforms, a bomb must be thrown against the edge of the platform. Away from the boss, away from the adds. This is not part of a normal DPS rotation, intentionally missing the boss.

They then cropped out the chat log in their ten man kill. They then did not mention the glitch until it was already reported and hotfixed by Daelo.

At that point, they then claimed that it did not significantly affect the difficulty of the fight, which is a blatant lie. It trivialies the most difficult portion of the fight, allowing the raid to ignore the Valkyr adds and turning it into a hard burn on the Lich King. This is exactly what Exodus did when they were banned for exploiting Yogg-Saron.

When asked to provide a video to exonerate them, they declined. Tuns, one of the banned players, showed up on MMO-Champion, claiming that there was no video, as Ensidia never frapses their first kills. This is not only laughable, but another blatant lie. While the notion that a guild of Ensidia's calibur wouldn't record a World First kill is beyond ludicrous, the fact that their world first easy mode yogg fraps is available on Youtube is proof positive that Tuns is lying outright.

Ensidia members attempted to claim ignorance of the fight's mechanics, which is laughable, as they had not only killed the encounter of ten man, they had access to Blood Legion's kill vid for third party confirmation of the patterns of the floor.

Blizzard stated that they were bugging the encounter WITH INTENT to exploit the fight. This means that they said something in the chat log of the game, which Blizzard can view at will, which implicates them. This combined with the cropping out of the Chat Log in the ten man kill is very suspicious.

Ensidia reeks right now, and it's the exact same stench that surrounded Exodus when they recieved the exact same ban for the exact same behavior.
 
Tobold, see, I think you have the right idea about asking "When is a tactic an exploit?" but are completely wrong in your conclusion and your own example can be used to show this.

See, blink always has removed stuns. It deliberately does it and it is said it does in the ability description. Using it to get out of a stun, even one that is a main mechanic, is just using the skill smartly.

Instead, imagine that when you use blink, King Ymiron stops attacking completely and stands still doing nothing for 15 seconds. If you want to stand there and argue that "Maybe it was intentional" when it is so obviously and patently not what was designed then you're just arguing for arguments sake.
 
<>

made up examples:
Cthun whips out his big pewpew ray. You run away from it - non exploit. You use a handheld fish to hit it and stop it from moving - exploit.

Razorscale: beating her up with all you got while she is grounded - not an exploit. beating her up with all you got including a handheld fish which keeps her grounded and stop adds spawning - exploit.

You cannot be serious with pushing to extreme examples (healing is bannable for negating damage): healing is there exactly for that purpose. But if one of your healing spells, maybe while equipping a handheld fish, was making boss run to the corner and cry, you would *know* something is wrong, cause you killed that boss X times before or your gaming experience is telling you that something is not right. What you do with that information is up to you. You can use it and face consequences, if there are any. Or you can use it, then say "I didnt know" - but the consequences would be there nevertheless.

Ignorance of the law, even with poorly defined "laws", which is how you can see each single encounter's intended mechanics and tactics to overcome those mechanics, has never been any valid excuse for the act of breaking the laws. Nor facing up to its consequences.

For your mage blinking out of the stun it might be a slap on the wrist or a warning or a 30 minutes ban. For Ensidia it was a 3 day ban. And they surely cannot plead ignorance :)
 
I always hate to see this.

Your code is buggy, fix it. Ensidia should be given a plume from Blizzard on their hat for finding the bug as their QC quite obviously didn't find it.

As long as people don't hack away at their internet messages or hack Blizzards code everything should be legal.
 
The big question is WHEN IS A TACTIC AN EXPLOIT?

That's an easy question to answer. When you use a mechanic in a way the developer don't want you to, you exploit. It's not written down, there's no ingame alarm that goes off, you just develope a sense for it, especially when performing on such a high level as this guild. Blinking out of a stun is a whole different world as using a secondary effect of a tradeskill item to kill the boss of a 15 year old franchise more easy.

I won't judge that incident i just want to mention, that no one would speculate if Ensidia published an unedited movie of the kill. We won't get such a movie for a reason. There's nothing left to say about this.
 
So Ensidia gets world first kill using the hidden "i win button" that Bliz failed to remove in their debug prosess. There is no honnor in that. And as several here points out, without the video to show the kill, its a very much tainted achivement in this case annyways. Im wondering, what if myt guild is about to kill LK and a bug in the last seconds hinders that. Should we get the kill from Bliz ? Obviously any guild should come clean about how they got their world first kill if they want cred from the rest of us, but for Bliz to ban them for finding this bug and using it ? I find it plain stupid.
 
They knew it was an exploit:
http://www.mmo-champion.com/general-discussions-22/the-ensidia-incident-explained/
 
@Kleedrac

An accusation is not a matter of opinion. If you do such mud-slinging towards anyone or any collective at least back it up with some data and not just "my friend told me."

Concerning the ban it depends... Was it the first time they used it? Were they aware that something was wrong? Could it be that they thought it was working as intended?

Either way I think that in these cases Blizzard should just shut the heck up, fix the bugs or flawed mechanics and just remove the achievements/gear that the guild got from the encounter.

Banning in this case is just saying: "we are too incompetent to fix this quickly and we don't want anybody else to do it meanwhile."

Why not simply put a flag into place, while they do not fix it, taht in case of using that exploit the enounter wouldn't give any loot/achievements.
 
I've seen a lot of to-ing and fro-ing on this, but I just want to bring up a point that many people seem to ignore:

They just happened to have a rogue who was using instant cast Saronite bombs as part of his damage in all sorts of fights, and it just so happened that there was a bug which caused the use of Saronite bombs to reset a part of the encounter and make it much easier.

If you were bugging out the encounter to make it easier, you'd lie about this. If you didn't, obviously you'd tell the truth. So regardless of what you actually did, you'd always say the same thing about rogues chucking saronite bombs (as I understand they do).
 
Not to bash Ensidia, but it's become pretty clear they knew a bug was happening (they admit they knew it on their own blogs) and yet they still continued the ecounter for several attempts without even trying to report it. (again they say so on their own blogs)

They killed him fully knowing that something was bugged with the ecounter, and that that bug didn't occur in their 10 man version.

Even if they didn't know what was causing the bug, (which some people are debating because apparently you have to actually throw the saronite bombs *away* from mobs and to the far edges of the platform to trigger the bug) they should have reported it and then reported that the encounter was bugged instead of posting a World First on their website with no mention to it.

Was Blizzard harsh in their treatment of this? If they truly didn't know what was causing the bug then yes it was. but how would Bizzard know that? Unless they talk only in chat, which obviously isn't the case how would Blizzard know they didn't exploit on purpose.

If this were any other guild besides Ensidia would we even be asking that question?

In fact, the cynic in me completely thinks that if this were any guild other then Ensidia, Ensidia would be one of the first detractors of a bugged kill, and we'd all be talking about how horrible that other guild is for being dirty rotten cheaters.

Again in my opinion it doesn't matter whether they knew what caused the bug or not. They could be telling the truth and honestly just did not know what they were doing that was causing the bug...BUT they knew something was bugging the encounter, they knew after several attempts with the fight bugging that this bug was making an entire phase trivial, and they killed him and posted news of their World First with no mention of the bug whatsoever.

Again the cynic in me just screams "they did that because they knew they would catch flak for killing him while he was bugged and tried to sweep that fact under the rug".

If Blizzard had not banned them I think we would have never known about this bug and Ensidia would have simply just not released fraps or information regarding the encounter.

Just my .02
 
Using saronite bombs as part of a rotation is something.

Aiming them at the edge of the platform to rebuild is something else entirely.

It's very difficult for me this was just plain normal play considering no video were released and Blizzard were apparently watching over their shoulders.

In other words, I believe Blizzard is far more honest than a guild which has taken several borderline actions, to be polite, for the sake of World firsts.
 
I've done the exact same thing before. I haven't raided seriously since EQ but we did borderline exploits a few times and never got banned. We discussed the possibility of being banned and everyone agreed it was worth it.

For instance was having a Bard kite Gorenaire in Dreadlands until she was OOM an exploit so she couldn't heal? Probably but no one ever got banned.

There is a fine line between exploit and strategy. The devs get to move that line based on their opinion.

I think the 3 day ban is a bit much. Take away the achievement and fix the encounter. However this guild could have been on double secret probation! :)
 
What gets me is Blizzard GMs were there watching the encounter (and by GMs I mean all interested Blizzard personnel, not just the people that respond to your tickets), so Blizzard were watching Ensidia to see what and how well they would do, and if they could get the World First Kill or not, meaning Blizzard saw the floor was respawning and at least one or two of them had to have known it shouldn't be doing that.

So Blizzard became aware that they had a buggy encounter as soon as Ensidia started taking advantage of it, but they did nothing until after Ensidia had downed Arthas. They watched Ensidia take advantage of poor coding, they watched as it happened. They let Ensidia get a World First on a buggy encounter using an exploit, and only then did they drop the Ban Hammer.

"Guys, we're really sorry about this but the floor is respawning and it's not supposed to do that so we stopped the fight. Obviously there's a bug somewhere so we're shutting this down until we can find out what's wrong. Don't worry, we're going to reset your Raid key so as soon as we fix the problem you'll be able to come back in and have another go."

That's what Blizzard should have done. So yeah, Ensidia took advantage of an exploit, but it was Blizzard who made the exploit possible through poor coding and poor play testing, and it was Blizzard who sat back and watched Ensidia take advantage of it, who watched them get the World First Kill, and only then did they cry, "Cheaters! Banned!"

The piece de resistance was Muqq calling Tigole out in a manner which most wrote off as "QQ" but was actually very well done.
 
Banned != suspended. Reading the title made me think that they had upped the punishment for the guild!
 
Yeah, Ensidia knew it was an exploit. They had it coming.

But haven't they been suspended before for using exploits? I think part of this is they are frequent offenders. A longer ban was probably in order.
 
The thing to keep in mind in this case is that Blizzard has information that we will never have. They pretty much admitted that for at least the next couple weeks they'll be watching all LK25 attempts in GM mode, and I think it'd be pretty easy to tell if they were trying to exploit simply by watching where the rogue was tossing his bombs. I'm not going to pass judgment on either side until we have the full story, and we will never have the full story.
 
"considering the fact that they didn't do anything different than they do in other raid encounters"

hmm ... I really doubt if any of the top raiding guilds approach world firsts with that attitude. They would be watching *everything* with a keen eye, dissecting combat logs and more.

They would have known very quickly it was an exploit.

Your everyday scrub guild run on the other hand ... they just use the established strats, oblivious to whats going on.
 
"What is next? Banning people for healing, because healing negates the bosses damage? Banning people for using fire resistance abilities against fire damage?"

Under the terms, the way I understand them(and I don't know nearly as much about WoW as the many commenting here) my answer would be: "Yes".

It's unfortunate bugs happen, but they do, and people know it, not just lifetime players and top guild members...but, ESPECIALLY lifetime players and top guild players. There's a big difference.

Ensidia got to where they are by being smart, knowing intricate ins and outs of the games, recognizing changes quickly, adapting, and so forth.

I agree with your comment, the whole comment. I guess what I am disagreeing with is something that's difficult to argue, because it's not clearly set out in some hard coded rules somewhere. I don't think this was a matter of them using their abilities and finding a way with that to beat the lich kings. I think they knew exactly what was going on.

I'm basing that only on my life experience of seeing and recognizing when people are making choices to get where they get in life. It's not a very good analogy but- if they were an agent and this happened to them, there boss would fire them, and if their defense was they didn't know it was an exploit(at all), then the boss would say well, that's why you're not smart enough to be so high up, and he'd send you back down the corporate ladder.

That's they way I'm viewing it, and from that POV, I don't think they already obtained their position by letting things like this incident slip passed them unrecognized.
 
It's fairly obvious from what evidence we have that Ensidia exploited the encounter.

To start, if as admitted on their blogs, they saw the bug happen on several attempts, why didn't they contact Blizzard about the bug and report it after the achievement?

Secondly, if the player using the Saronite Bombs was targeting the Valkyrs and have no idea that they were cause of the bug, why don't they release their achievement video to show that their use was unintentional?

Then we have this posting on MMO-Champion from an Ensidia player present (http://www.mmo-champion.com/general-discussions-22/the-ensidia-incident-explained/).

And we have this posting from Ensidia's own site (http://www.ensidia.com/mek/blog/567/) where Mek talks about the bug they discovered on the PTR where Saronite grenades affected the encounter floors at the time.

Ensidia may not have planned this exploit but certainly looked to take advantage of it once they discovered it and cover up their actions afterwards. Blizzard surely examined the combat logs and Ensidia is lucky the ban wasn't more severe. It doesn't matter whether or not this was a bug that should have been caught by Q&A. Ensidia could have done the right thing and reported it but instead chose to handle the situation poorly.
 
Why is Ensidia being banned for Killing arthas using an exploit?

I ask this because every freakin day prior to 3.3.2, everyone and their brother was using an exploit to complete Halls of Reflection by staying behind Arthas during the run to the Gunship encounter. Why wasnt Blizzard actively and openly banning people for using this exploit? Why wait until a well known raiding guild finds and uses an exploit to defeat game content? Is it a matter of Blizzards feelings getting hurt here?

If an exploit is an exploit, why pick and choose who you punish instead of having a fair and balanced application of punishment across the board for any and all exploits? Doing what Blizzard did in this case screams of partiality considering other exploits that still exist, or have existed in the game.

I have played games for going on 30 years, and one thing that I do know with certainty is that a developer should NEVER punish players of their game for finding buggy code or problems with the game that escaped detection due to a lack of proper in-house testing.

These are games, and I as a player am going to use every ounce of my intellect and wit to beat what the game maker has put before me. If I discover a way to beat the puzzle/encounter/whatever, then I have won. The developer is free at this point to determine if my solution was acceptable, and make changes to the code if it's not. But dont punish me for being smarter than your coders/designers and testers.
 
Post a Comment

<< Home
Newer›  ‹Older

  Powered by Blogger   Free Page Rank Tool