Introducing After Effects CS5!

Greetings from NAB 2010!

On behalf of my dedicated and hard-working teammates at Adobe, I’m very excited to introduce you to After Effects CS5!

This is a phenomenal release of After Effects and it significantly raises the bar in performance, productivity, creativity and quality. The early customer feedback is that CS5 is game-changing release. We agree.

Since October, we’ve been talking about the many benefits of being 64-bit native. It’s not easy to take a large, mature code base and simultaneously port it to native 64-bit on both Mac OS and Windows in the same release. It’s been a big investment of our time, but the payoff for you is enormous. It makes After Effects strong, solid and ready to continue as the go-to software for visual effects and motion graphics.

But if you’ve been reading this blog, you probably already know all about 64-bit. What else is new? A lot!

  • Roto Brush

Ever do any rotoscoping? Most people do. Do you love it? I didn’t think so. Only the truly twisted really love to rotoscope mattes for objects for days on end.

After Effects CS5 introduces a revolutionary new tool called the Roto Brush that will dramatically reduce the time you spend creating mattes for objects in your video. Revolutionary is a big word, but it fits. The Roto Brush borders on magic.

Instead of tediously drawing masks at the edges of your objects and painstakingly animating them, you make quick, gestural strokes to define foreground and background areas. Then After Effects does the hard part for you. It finds the edges and creates the transparency for you. It’s perfect for those jobs where you don’t have a green screen or consistent background.

Roto’ing a frame can literally take a few seconds now, but a single frame is just the beginning. By using advanced technology unique to Adobe, After Effects automatically finds the same object edges on subsequent frames. You might make a few small corrections as you go, but the amount of work saved is huge.

The quality is there, too. Mattes are properly motion blurred in direction of the object’s movement, foreground color is decontaminated, and you have additional anti-chatter controls.

The Roto Brush will change your life. I would have killed for this when I was doing post-production. It’s going to allow you to do accurate rotoscoping on jobs that didn’t have the time or budget before. If you think I’m too enthusiastic, don’t take my word for it: Independent, 3rd-party benchmarks are showing that rotoscoping jobs can be accomplished 10 times faster than before. Motionworks has a great in-depth tutorial of the Roto Brush.

  • mocha v2 for After Effects & more masking improvements

As useful as the Roto Brush is, we believe that you should have a range of tools for masking. This is why we are including mocha v2 for After Effects. The big improvements in mocha v2 are trackable masks and the ability to have variable-width mask feather,
These are wonderful time-savers when creating high-quality, animated masks. mocha v2 is also 64-bit native on Mac OS and Windows.

In addition, we are including the Mocha Shape plug-in (which is normally sold separately for US$99.) This allows you to very simply copy and paste mocha’s planar-tracked shapes into After Effects without rendering. It’s a simple and elegant workflow for combining the power of mocha with After Effects.

We also have some small but useful improvements in masking. For example, you may now adjust the size of the mask points and handles in After Effects. Make them as big as you like. This makes makes the masks seem less “fiddly” so you can work more quickly.

Some of my other favorite new features in After Effects CS5:

  • Includes Digieffects FreeForm effect (distort and warp layers in 3D space)
  • New Color Finesse LE 3.0
  • AVC-Intra file format support
  • Fully-integrated RED camera support with RAW processing control.
  • Ability to apply .cube and .3dl LUTs (look up tables) to layers
  • A new Refine Matte effect (use the Roto brush edge technology on any matte)
  • A “Preview” checkbox in many dialogs (allows you to see the effect of changes without leaving the dialog.)

The list goes on. There are numerous small things that add up to make a big difference. Check out Todd Kopriva’s Region of Interest blog for his take on the new features and links to educational resources.

The complete, exhaustive list of new features can be found in the After Effects CS5 Online Help which is already up on

Of course, Adobe is also announcing all-new versions of the other Creative Suite applications, including Premiere Pro, Photoshop, Illustrator — all your creative tools. The best way to see them is to stop by the Adobe booth at NAB. I would love to see you all in person.

If you can’t do visit us in Las Vegas, keep checking this blog for links to videos and tutorials about the new features.

CS5 is a must-have version of After Effects. When you get a chance to put it to the test, you’ll wonder how you got along without it. It’s a significant milestone release and I’m sure that when we look back at this release, there will be “before CS5” and “after CS5”.

Don’t forget to follow me on twitter so you can get your straight dope in smaller hits. (My twitter ID is @motiongfx.)

Welcome to the future!

38 Responses to Introducing After Effects CS5!

  1. Anonymous says:

    Why was AAF import removed?

  2. There’s isn’t a 64-bit version of the official AAF SDK that After Effects was using. In the mean time, while we’re investigating replacement options, I recommend going through Premiere Pro. Automatic Duck AAF importer is also a good choice.

  3. DWalla says:

    Still no 3D text? It’s 2010 ya know?

  4. DWalla says:

    I’ve been a user of After Effects since Cosa 1.5….Things I wish After Effects would solve/add:1) Real-time video clip playback in the timeline (uneffected)2) Real-time audio without having to “render”… this is unexcusable3) Real 3D space… including real 3D text abilities4) The ability to have folders in a timeline5) Inclusion of the built-in abilities in Mac OS X (VideoCore) to accelerate various basic effects.The new Rotoscoping tool looks nice… I’ve not used it so I can’t say for certain…. but it seems like After Effects has turned into this minimal feature updates and lots of money to buy the upgrades. I won’t discount the 64-bit nature of CS5 and quite honestly, I look forward to being able to use all my RAM (instead of the 3GB limit… why 3GB instead of 4GB? I digress)…. and hopefully the years of plagued RAM issues and caching problems will be solved.

  5. james says:

    awesome!!! this update basically looks like AE CS5 will suck less. I cant wait for less crappy ram previews!!! will multi-processing actually work ok now? they didn’t mention it so i guess not. still awesome though, i cant wait to not have to move the time head around to be able to get ram previews to work without that annoying error message. wait will the graff editor suck less…oh didn’t hear about that either….

  6. James Blunt says:

    First off, congratulations. I am sure that it took a lot of effort to put this product out while Adobe cut people to bolster their flagging financials. However, it looks like one will have to use both AE CS4 and CS5 to fully maximize your usage till they resolve issues like AAF import (telling me to use PP or drop a bundle on the overpriced Automatic Duck is just not an option – suddenly it is a $800 upgrade instead of $300 if you go with AD.) And it is not just AAF import that has disappeared – if you go to the spec sheet, Adobe has dropped support for a lot of other formats that were once supported. Upgrading all the plugins is going to cost a bundle as well – RGS for instance is going to be charging $29.00 per plugin it seems so that alone will cost another $300 right there if not more. And that is just one plugin developer. I think you should have taken a page out of Apple’s playbook and put this out for $29.00 so that money could be spent on upgrading all the other stuff brought about by your decision to go 64 bit only.The new roto tool does look good but it is interesting that all the demo stuff is done with the same video clip and of course, the footage that is used is selected to show off the product and not what one may deal with in day-to-day production. I do hope it works as advertised as it will cut down on roto work and open a lot of creative opportunities but will reserve judgement till I have had a chance to use it on my footage, not the Adobe marketing team’s footage.Still does not seem to be any nodes which is a shame and the person who said that it seems that Adobe is charging a bundle for just a few features (64 bit aside which I think was overkill for this version which should have had support for both 64 and 32) is correct. They need to take a look around and see Apple, The Foundry and Autodesk looking to bite them in the rear. Let’s see what their quarterly results look like for the rest of the year to see if people are going to pay up for another round of limited features.Despite my criticisms, will I buy it? Yes, but only one copy. For roto etc. we can move footage over to that system and then move it back to systems running CS4 for all the other compositing, color correction etc.

  7. Touko Maksimainen says:

    First off, congratulations on concentrating on what really matters with this issue of AE, namely stability and performance as well as handy small things that will make a big difference collectively.However there are still numerous small snags that are likely very easy to fix (I have not seen them mentioned in the complete list of CS5 improvements, although some might be too small to be mentioned):Keyframing audio levels does not work properly, they work when RAM previewed but are simply ignored when exporting, and audio is played back at 0db regardless.Dragging keyframes around doesn’t display time offset in the info panel similarly to dragging keyframes.Simultaneous dragging of keyframes and (other) layers is impossible.When exporting a frame to PSD, its alpha is ignored.Native tracker performs poorly with small motion, producing jitter. (Somewhat irrelevant now when there is Mocha)Sporadically loses ability to read clipboard, necessitating a restart (Strangely can still paste in the expression editor.)A crash will invalidate Open Recent Projects list, which is a problem when saving incrementally. It will also forget RAM Preview settings. Not so much a problem anymore since CS4 has been somewhat more stable, but I’d still rather my settings were saved instantaneously and not just upon successfull exit.Some important keyboard shortcuts don’t work on non-english keyboards, and user can’t easily change them.Graph editor is still rather poor. Only Final Cut Pro has one worse. Even 10-year-old Pinnacle Commotion does better.Fit to Comp often clips layers incorrectly, not where the work area starts, but several seconds later.Can’t copy or paste output modules or assign them to multiple render jobs at once.

  8. Touko Maksimainen says:

    Oh, on second thought, I take back what I said about the graph editor…

  9. Lou Borella says:

    I don’t know many people that bought CS4 because it was too expensive and didn’t have enough features. Most of my clients are still on CS3. what is the upgrade cost going to be from CS3 to CS5?Lack of realtime previews is really a joke at this point Adobe.If you rewrote the code from ground up why not fix this. the GPUs are plenty fast enough at this point.

  10. Thomas says:

    Dear Michael Coleman,as previous speakers here already spitted a little of fire regarding Ae CS5 i’m very afraid that you have to be prepared from a lot of rumble that will follow within the next months.- Going 64Bit does not justify the upgrading price tag, nor does it justify the price tag for first buyers and not to mention the horrendous price tags we have to deal with here in Europe- Removing a tremendous amount of file support is a complete wind up.- The negative payback of cancelling support for 32Bit operating systems will be huge. I belive that it wouldn’t been any problem to keep the Apps running universal on 32Bit and 64Bit.- BESIDES THE FACT beeing nailed onto a monopolization of a GPU Manufacturer – which is true for Mercury Playback in Pr which i will not support AT ALL – I’m asking why Ae doesn’t support the Mercury Engine?- 64Bit Plugins: here is the next total wind up. Today i found at Red Giant Software News that they will charge for EACH of the individual products and Suites even cost more to upgrade for CS5. Great Step. To be true: Adobe should pay for each and that.- Roto Brush may be rocket science but speaking for myself, I did not any Roto jobs in the past 10 years because i’m mainly working in MoGra Design not VFX. If you will do serious roto jobs for the industry, you gotta jump into a node based app.- Optimizing 3D views, improving handles for 3D an light axis handles, improvements to camera requests for better handling with masks (not just having the choice of making the handles bigger), etc. WHERE ARE THE IMPROVEMENTS?- GUI optimizations for effect panels and effects handling itself, layer attributes, graph editor, expressions field, etc. WHERE ARE THEY?… Wait. You know what? I’ll stop here. It seems that no one of you guys ever listened anyway. So why wasting time TELLING YOU what to make better? I don’t give a dime about it anymore.I’ve set myself an ultimatum before the release of AE CS5.-If the release is going to set me on fire – you win.-If the release is going to frustrate me – you’ll lose me.I’ll be looking for a new home at The Foundry.Good luck.Best regards,Thomas

  11. The 64-bit native CS5 is a night and day difference in terms of RAM usage. You can access much more RAM, and even when you have the same amount of RAM, there are no more errors. As far as the other suggestions, I agree.

  12. Wait, I’m confused. It sounds like you’re complaining that we made After Effects CS5 faster.

  13. Thanks for your comments and taking the time to write down all your feature requests.

  14. Not everything was rewritten from the ground up. 64-bit mostly refers to the memory management portion. Hopefully we’ll get to the playback engine very soon. All the upgrade and pricing info can be found on the web site.

  15. Chris Parkinson says:

    Thomas,I completely agree with you. Every time a new release is imminent, I never get excited, because I know from experience, that the new features represent, once again, dribs and drabs. Here’s my 2 cents:AE is predominately the standard for mograph in the industry. This release has obviously focused on the compositing side of things. WHY?? Great for the 10% of jobs that require comping, but bad for the remaining 90% of jobs that are mograph-centric. Yes I do know some of you use AE to do all your comping, so don’t get your panties in a knot. I want to see a new suite of mograph tools for AE. Eg:3D primitives – Don’t tell me this is not possible.3D Text – It’s 2010. Need I say more.IK – Holy crap, you put this in Flash, but not AE??Advanced Adjustment layers – the ability to selectively ignore specific layers.Proper motion blur of Layers containing layer effects. At present, you get this really bad edging.Stackable Layer Effects – Why oh why can I not apply 2 of the same layer effect??The ability to keep certain effect windows open of your choosing, within precomps. I hate switching back and forth between comp windows when I need to adjust an effect in a precomp. Yes I know you can load up a new viewer – The process in achieving this is to say at very the least, painful.Keyframable expressions – Anyone here sick of having to duplicate/split certain layers because you wanted the expression to stop? Anyone here know of a way around this? I’d love to know.Infinite floor – would be nice not to have to create obscenely huge 3D floor layers.Dynamic effects – apply this effect to any fast moving layers and you get a nice elastic effect, depending on the velocity of the layer.Shake effect – anyone here ever had a layer crash into screen and needed to shake the layer violently, as well as the camera? This is not hard to do, but wrapping all this in an effect would be nice.True reflections – I hate having to copy layers, flip then, mask them, adjust opacity..blah blah. Unless this has been added to CS5?Volumetric lights – no words neededOpenGL accelerated particles – yeah baby!Proper openGL support – I don’t like not being able to read certain text layers when I turn on openGL, and I don’t like the visual degradation of my comp when I have openGL on.Collision dynamics – Having two text layers collide and shatter would be awesome.Expression linking – When you are using expressions to link layers together, specifically, position, for the child layer to keep it’s position relative to it’s parent object. I’m not talking about the select parent tool. Even better – to freely move a child layer.Optical Effects – C’mon guys. This is THE standard for mograph in the industry and I still need 3d party plugins to apply chroma fans, highlight streaks, and decent lens flares??

  16. Me Again says:

    But if the problem is the lack 64bit SDK for AAF, how does Premiere CS5 manage to import and export AAF, XML, et al? And why is it still possible to import previous AE files from 32bit systems? I don’t mean to be snarky, but it seems to be extending my workflow by making me import through AECS4. Is Adobe intending to release a “.1” update with an AAF feature included or is it gone for good?

  17. Congratulations Michael on a terrific release. I and many of my colleagues appreciate the effort you and your team put into each release of After Effects and know you do your best to satisfy the widest user-base possible.Best wishes, John Dickinson

  18. Steven Gotts says:

    This is a “perfect storm” upgrade destined to be passed up by a lot of people . this cs5 production premium upgrade will cost big.Besides the upgrade itself…Requirement to upgrade all plug insrequirement for cuda is a pricy cuda capable card.requirement to use half the new features is a subscriction to Adobe live ( bet its expensive for the little it offers.So I figure this “upgrade” will cost north of $1500 per workstation. fine if the new feature benefits outweighed the real cost. and I found most of cs4 touted feature set they used for marketing, never consistently worked as promised. ie audio transcription, dynamic link etc. a beta work in progress that I shouldnt have to pay for.

  19. stavros says:

    I think 64bit is excellent new feature!But still missing 3d capabilities… like3d text – import and light 3d objects andbend footage in real 3d space (without freeform plugin). If one needs to bend papers of a magazin,it it impossible with freeform that only understands one footage at a time.Now we will have to wait for another 2 years tosee if we can do that!

  20. Thomas says:

    Today an e-mail has arrived from our Post Production Headquarter (transcription):”Dear Colleagues,we wanted to let you know that we’re not about to upgrade to CS5.We know how much of you been waiting since CS3 and we are truly sorry for bad news.Our momentary budget is not capable of carrying such a huge amount of investment in replacing software and hardware at the same time.We’re looking for alternatives and let you know about the details as soon as possible.Best Regards,*******”Great, today my world is painted black.

  21. Sorry about the AAF workaround, but we were in a bit of a quandary without a 64-bit library from Avid. After Effects CS4 used a different library than Premiere Pro. We are looking into which would be a better way to replace it – wait for a 64-bit library from Avid or use the same as premiere Pro. The Adobe solution has the advantage of being cross platform, so I’m leaning that way at the moment.

  22. Steven,Some plug-ins will upgrade for a fee, some free. That’s up to the plug-in developers. Many are also adding features in the upgrade, in addition to being able to take advantage of 64-bit native performance.After Effects does not require a CUDA card. Neither does Premiere Pro.CS Live subscription is not required.The upgrade prices are more or less the same as CS4 and CS3. The US price to upgrade After Effects is $299.

  23. Aj says:

    I’ve been using After Effects since v7 and rely heavily on plug-ins. I would consider myself a mid-level user overall.I just installed the trial of AE CS5 and instantly know I will not use it beyond the occasional roto work.I simply cannot believe you did not allow some way to keep using the many and expensive plugins. I’ll be very curious to see how this decision plays out for you financially. Frankly I hope it fails miserably and a lesson is learned.Adobe to me is just like Microsoft. You ignore your users. New features are meaningless if you can do your normal work.Feature request:32bit plugin support3D TextALL the requests that more than 100 users requested as annoying.

  24. Ignoring our users? Not by a long shot. Moving forward to 64-bit is the best thing we could possibly do for our customers. The most common feature request we get is for more performance, and being fully 64-bit (including 3rd party plug-ins) is critical for performance and reliability. Most 3rd parties have their CS5 updates ready to go or are almost ready. Some will offer upgrades for free, some will not. Either way, your investment will pay you back with more productivity. I suppose if you don’t care about performance, you won’t agree with this thinking.

  25. Aj says:

    I certainly appreciate better performance, and for that matter, an actual response from someone with Adobe.But when it comes to plugins, I can’t afford to upgrade them (most are not free upgrades and are quite expensive) Because AE still has no 3D, I use Zaxwerks, their policy will be FULL PRICE upgrade when it’s released. Not to mention trapcode fees and still other plugins that will never be upgraded and therefore will not be usable.Was it not possible to allow their use with an understood loss in performance? or even a 32bit version along with 64?Again, I’ll be very curious to see the reaction and sales for AE minded users. Maybe I’m in the minority, maybe not, time will tell.You know, a simple, “Sorry about that” would have been better than dismissing it as a non issue and touting all the good things as a reason to feel good about losing most of my work capabilities. You’re not going to win many people over with that stance.Not the end of the world, I’ll happily use CS4, but I’ll miss out on the better performance and features that just seem could have been handled differently.

  26. Robert Kent says:

    >I use Zaxwerks, their policy will be FULL PRICE upgrade when it’s released.There are… alternatives…. if you know where to look…Maybe that will be enough to change their mind over upgrade prices.

  27. Maybe we got off on the wrong foot when you wrote that you hope that CS5 fails miserably. In any case, I apologize for sounding dismissive, it certainly wasn’t my intent.This was a really hard call for us, and it’s something that we considered very carefully. Any choice resulted in a compromise. We opted for a path that maximizes performance and trades some short-term pain for long-term gain. In order to maintain compatibility with CS4 plug-ins, we would not have been able to do other cool things like Roto Brush. I believe the time savings of Roto Brush speaks for itself. I expect that it will go a long way to improving your bottom line.

  28. Charles Taylor says:

    A lot of negativity here, which is too bad. Congrats on getting the product out the door!What I hope for from every release of AE is ditching the whole UI. But since that’s never going to happen, I’m looking forward to longer RAM previews. That’s going to be killer.On the topic of previews, though, it’s a little surprising to me that AE has no flipbook capability. Sure, you can make a quicktime, but flipbooking has the benefits of fast RAM playback, easier workflow, and not evaporating if you think too hard (like a RAM preview does).There are third party flipbooks that are pretty nice, if you don’t want to build your own. The one that comes with Nuke (FrameCycler, I think…) has more features than I can shake a stick at.It’s super-handy to have a playable version of your comp open in the BG that you can refer to. It doesn’t matter that it gets out of date fast – often the things that I’m referring to the flipbook for aren’t changing with what I’m doing.

  29. John says:

    Michael – it is not that people don’t want better performance, but it is a price v performance issue that you have neglected. You COULD have made a 32 and 64 bit version but that would force you to slow down the release of the suite and that is what this is all about – crank out something – in this case you say if you had to do a 32 and 64 bit version, you could have not gotten roto brush done. Well you COULD have – it would just mean hiring more people or delaying the launch. This suite mentality means that your users are getting the raw end of the deal in the compromises that you are forcing on us. And at $300 a pop as well. Why not have released 64 bit optimized only for $29.00 like Apple did with SL? Then I would know that you are being since. But now I will skip CS5 and wait till CS6 at least before upgrading. Not because I don’t like added performance but because I want performace at a good price and spending thousands on updated plugins is just not worth it.

  30. john says:

    Speaking of performance, can I play 4 or 5 layers in CS% (without effects) at once *** without caching *** is like I can in PP or FCP? If not, then don’t be lecturing your users on performance till you get this done (no doubt costing us yet another $300 to get this basic functionality.)

  31. This has nothing to do with being part of a suite. Any project that takes more time or requires more people is more expensive. Keeping 32-bit compatibility would require costs to go up or performance improvements to go down. While you might be saving some money on plug-in upgrades, I would be forced to raise the price of After Effects. It’s a wash.So your suggestion means that total costs would end up the same, but you would have lower performance. I’m pretty sure that you wouldn’t be happy with that either.I stand by this decision 100%, but you don’t have to take my word for it, other After Effects users agree that it’s a good value of price/performance.

  32. John says:

    Thanks for the reply but I am sure a quick google will turn up just as many people who don’t think that the price v performance pays off. As for the price – Adobe needs to wake up – people are not going to pay MORE for getting less and it is all about the suite or is it just a massive coincidence that for CS2, CS3, CS4 and CS5 all those components just happened to come together at that date. No. You have to release to a a deadline instead of when features are ready to go – in this case, a 32 and 64 bit version (you admit that you don’t have AAF figured out but you went ahead and released it anyway when a bit more time would have allowed you to walk over to the Priemier guys and get the code they are using to make it work). I would agree with your argument if you had priced it at say $29 like Apple did with Snow Leopard which they marketed at least as no new features but a rewriting of the code for future development.

  33. aNONYMOUS says:

    Man this page is brutal. Good to see you answering, other companies shy away. +1The AAF “wait for avid or use premier” sounds a bit of bad planning, this should have been sorted on day 1. ie no avid, go prem. done.Yes I agree I am very disappointed no mercury for ae. very disappointed.I do think the comp tools should have less precedence to mograph stuff, that’s where ae seems to be (by you and/or market forces) as the standard there. The nuke etc is for real 3d work. That’s just fine. Some comments above i think reflect this (in a more brutal way)Adobe has to know that ae users use a lot of plugins, and should have told 3rd party people there is a price cap on upgrades. Yes you could have :)Not doing looks like (i said looks like) a cash grab by everyone. And thats ugly. And people feel it, and feel like they are getting shafted. Hey the economy is still not that good.I am very happy about the whole x64 thing, it been a long time coming. A long time. xp64 was 7 years ago?So once people get over the hump (and the unfortunate costs) i think they will see the benefits.I hope (i really do) that Adobe take note of these things and make the .1 / .x versions include many of the comments in here that are really valid (even if said with frustration) because people are still taking the time to comment and actually let you know what they want. So its up to you to deliver it.If you do so rapidly and in .1 .2 .3 vers I think everyone will see that your committed to making the product as best as you can. Committed to delivering what users want. And accept some responsibility for some of the minor problems that could have been managed better.Hey at least you’ve learned that people use it for more motion than 3d, and that should be an invaluable lesson.Cheers. 🙂

  34. aNONYMOUS says:

    Yes, wanted to add that regarding some of the plugins.. you should have set some standards.IE x64 and full 32bit color support.Its really impact negatively on Adobe, when companies say x64**only 8 bit color. or only 8 or 16 bit color.and they ARE out there…!!!Thats what i mean you could have done something about this as well as recommended pricing. Hey maybe you still can. :)Cheers

  35. Gabe says:

    Life-changing indeed! Does this mean that a whole generation of animators may never have to deal with the tedious frame-by-frame hell that we once knew as rotoscoping? Here’s hoping! Can’t wait to try it.

  36. Never is a strong word. Probably better to expect Roto Brush to dramatically reduce (but not eliminate) the time you spend rotoscoping.

  37. Frankie Holllywood says:

    I’m curious if you will surprise us with a much opposite way than what is introduced here

    CS5 and animating camera is still bollocks and if it needs a two part tutorial on explaining how the bloody parameters have to be tweaked, then my first Basic program i have created on a Commodore 64 must be worth at least two million dollars.

    Try to catch us with new features in the next release and i will say the words “next release” for a very last time you lazy bastards driving people nuts for the last 7 years!

Leave a Reply

Your email address will not be published. Required fields are marked *