MSI X399 Gaming Pro Carbon AC Motherboard Review Hello Threadripper

8
MSI X399 Gaming Pro Carbon AC With Retail Box
MSI X399 Gaming Pro Carbon AC With Retail Box

With the release of the AMD Ryzen Threadripper series CPUs and accompanying X399 platform, we have our first motherboard review, the MSI X99 Gaming Pro Carbon AC. In terms of positioning, this is a premium motherboard in the market. AMD Ryzen Threadripper CPU packages are large. They can utilize up to eight DDR4 DIMMs and have 64 lanes of PCIe 3.0 for expansion. Compared to anything single socket of just a quarter ago, the AMD Threadripper platform has tons of expandability. While going Intel X79/ X99 often meant foregoing some useful workstation features, the AMD X399 platform is thoroughly modern. Let us take a look at MSI’s offering in this space.

MSI X399 Gaming Pro Carbon AC Motherboard
MSI X399 Gaming Pro Carbon AC Motherboard

Many workstations use boards like this for dual purposes, gaming and work related tasks like we do. MSI has built in a lot of features on the X399 Gaming Pro Carbon AC, enough to satisfy just about every user’s need. Mystic Light will add all the RGB effects you could want to make your rig stand out. It even supports VR READY and VR BOOST which can be useful for designers that require VR support. We also like plenty of USB ports which there is no shortage of on the X399 Gaming Pro Carbon AC.

Before we get too far, if you are looking for massive amounts of RAM, and support for ECC RDIMMs, look elsewhere. We tried with several sets of 16GB and 32GB RDIMMs to no avail. Unbuffered DDR4 is where it is at.

MSI X399 Gaming Pro Carbon AC Motherboard Specifications

We wanted to start with the motherboard specs. One area that the AMD Ryzen Threadripper excels is having plenty of expansion capabilities. Here are the specs from MSI:

MSI X399 Gaming Pro Carbon AC Motherboard Specifications
MSI X399 Gaming Pro Carbon AC Motherboard Specifications

Key Features

Since this motherboard is marketed with dual use (for gaming as well) there are a number of neat features targeting that segment.

  • Designed for Extreme Performance: 10+3 power phase, DIGITAL POWER Design
  • MYSTIC LIGHT: 16.8 million colors / 17 effects controlled in one click. MYSTIC LIGHT SYNC support both RGB and RAINBOW LED strip
  • 3D Printing Support: exchangeable cover and 3D XMOUNTING screws
  • Lightning Fast Game experience: 3x TURBO M.2 with M.2 Shield, LIGHTNING USB 3.1 GEN2
  • VR READY and VR BOOST: Best virtual reality game experience without latency, reduces motion sickness. Supports Nahimic VR
  • AUDIO BOOST 4 with NAHIMIC 2+: Reward your ears with studio grade sound quality for the most immersive gaming experience
  • DDR4 Boost with Steel Armor: Fully isolated, shielded and optimized DDR4 PCB design to give your DDR4 memory a performance boost

MSI X399 Gaming Pro Carbon AC Motherboard Overview

Let us start with the packaging as one gets more than just a simple motherboard here.

MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Front
MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Front

Front and back of the retail packaging for the X399 Gaming Pro Carbon AC highlights major features of this new motherboard, X399 and Socket TR4 are the major descriptions on the lower right corner.

MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Back
MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Back

Like most motherboards, in this class, we find a wealth of information about features and specifications on the back of the retail box.

Let us open up the retail back and take a look at the contents.

MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Open
MSI X399 Gaming Pro Carbon AC Motherboard Retail Box Open

The top compartment holds the motherboard, and we find all the accessories underneath.

MSI X399 Gaming Pro Carbon AC Motherboard Accessories
MSI X399 Gaming Pro Carbon AC Motherboard Accessories

Here is the accessory list:

  • 1x Drivers & Utilities Disc
  • 1x Motherboard User Guide
  • 1x Quick Guide
  • 1x SLI Bridge Connector
  • 1x I/O Shield
  • 1x 1 to 2 RGB LED Extension Y Cable 80cm
  • 4x SATA Cables
  • 1x SATA Cable Label
  • 1x Case Badge
  • 1x OC Fan Stand
  • 2x Set of Exchangeable Covers
  • 12x 3D X-MOUNTING Screw Pillars
  • 1x Wi-Fi/Bluetooth PCIe Card
  • 1x USB Cable
  • 2x Antennas

The X399 Gaming Pro Carbon AC is an impressive motherboard, as you can see the new Socket TR4 for the AMD Threadripper processor takes up a huge amount of board space.

MSI X399 Gaming Pro Carbon AC Motherboard Top
MSI X399 Gaming Pro Carbon AC Motherboard Top

Memory slots fill out the right side of the motherboard taking up the remaining space of the motherboard right side. It is no small feat that this is an ATX form factor motherboard instead of an EATX size. MSI has a lot they are cramming onto the platform.

MSI X399 Gaming Pro Carbon AC Motherboard M2 Slots
MSI X399 Gaming Pro Carbon AC Motherboard M2 Slots

M.2 NVMe SSD slots fill the space between each PCIe slot. Each of these M.2 slots includes a handy heat sink to help cool these drives.

MSI X399 Gaming Pro Carbon AC Motherboard Game Boost Knob
MSI X399 Gaming Pro Carbon AC Motherboard Game Boost Knob

The left corner of the motherboard includes Power/Reset buttons; Debug LED and the OC knob, more about this later.

MSI X399 Gaming Pro Carbon AC Motherboard Storage Ports
MSI X399 Gaming Pro Carbon AC Motherboard Storage Ports

For SATA storage needs we find eight ports along the front edge with six parallel to the motherboard PCB. For those coming from Intel X99 series platforms 8 SATA III ports may seem constraining but in the second half of 2017 rotating disks belong in NAS/ SAN form factors and NVMe is where it is at for local SSD storage. MSI is highlighting the m.2 NVMe storage which we think makes a lot of sense in this class of machine.

Two USB headers along side the SATA ports to supply USB ports for the front of the case.

MSI X399 Gaming Pro Carbon AC Motherboard Back IO
MSI X399 Gaming Pro Carbon AC Motherboard Back IO

The MSI X399 Gaming Pro Carbon AC has an impressive number of USB ports at the back, eight USB 3.1, USB Type A and C and two USB 2.0 ports fill out the rear IO area. That is 10x USB 3 class ports plus two USB 2 class ports. We see an array of five audio jacks with a S/PDIF ouput. There are also physical CMOS and BIOS reset buttons for the rear panel.

MSI X399 Gaming Pro Carbon AC Motherboard SocketTR4
MSI X399 Gaming Pro Carbon AC Motherboard SocketTR4

There is no doubt that the new Socket TR4 is huge which it needs to be to house the Threadripper processor.  Installing the new processor is not hard, take some time to watch this video from MSI which walks you through the steps.

We must note that it does not take a great deal of force to screw down the three socket screws. Pay careful attention to how tight they screwed these three screws down in the video.

We also wanted to focus briefly on networking. This motherboard has an Intel i211 1GbE networking controller which is a premium offering compared to less expensive Realtek NICs. Furthermore, there is an Intel Dual Band Wireless-AC 8265 via a PCIe x1 riser card.

MSI X399 Gaming Pro Carbon AC Networking
MSI X399 Gaming Pro Carbon AC Networking

We like this setup. We expect virtually every users of the motherboard to have access to Wi-Fi networks. Likewise, we expect most users will want to add a networking card with the proper interface. For example, Mellanox cards for 25/40/50/100GbE or Infiniband, or lower cost NICs for either 10Gbase-T or SFP+ networking on the lower-end. We are certainly at the point where 1GbE is a low-end network and 10GbE is not far behind. Instead of incurring extra cost and using PCIe lanes potentially on the wrong 10GbE interface type, MSI’s solution is to give you the basics to get started and let you add in your own networking. Since there are so many high-speed options, this makes sense.

Let us take a look at the BIOS for the X399 Gaming Pro Carbon AC.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS

The first screen you will see when entering the BIOS is the Easy Mode seen below.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS 1
MSI X399 Gaming Pro Carbon AC Motherboard BIOS 1

Here we find basic information about the system.

Clicking Advanced Mode at the top of the screen will bring us to the next screen.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS 2
MSI X399 Gaming Pro Carbon AC Motherboard BIOS 2

Advanced system settings including overclocking settings located in this section.

One of the first steps we do when setting up a new motherboard includes restoring the system to defaults found under the Settings Tab.

Moving on to the Hardware Monitor tab we find fan and pump controls.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS 5
MSI X399 Gaming Pro Carbon AC Motherboard BIOS 5

Each of these fan speed curves allows you to change the speeds to suit your case conditions.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS 6
MSI X399 Gaming Pro Carbon AC Motherboard BIOS 6

The Hardware Explorer shows which slots and features are in use by your system configuration.

MSI X399 Gaming Pro Carbon AC Motherboard Software

The supplied DVD contains drivers and software for your use on the MSI X399 Gaming Pro Carbon AC. The package is geared towards Windows use. If you are looking for using Linux tools, it is time to start looking at how to Install Ubuntu Fedora and SUSE as Windows Apps.

MSI X399 Gaming Pro Carbon AC Motherboard Driver DVD 1
MSI X399 Gaming Pro Carbon AC Motherboard Driver DVD 1

We advise installing all drivers here. The software sections include optional software that you can install or pass on. One of the setups we did we needed new Intel Wireless drivers to ensure stable Windows 10 operation.

MSI X399 Gaming Pro Carbon AC Motherboard Driver DVD 2
MSI X399 Gaming Pro Carbon AC Motherboard Driver DVD 2

A large number of utilities included on the DVD, install what you would like to use.

MSI X399 Gaming Pro Carbon AC Motherboard APP Manager
MSI X399 Gaming Pro Carbon AC Motherboard APP Manager

The App Manager is a central location that allows you to use the supplied utilities in one central location.

MSI X399 Gaming Pro Carbon AC Motherboard Command Center
MSI X399 Gaming Pro Carbon AC Motherboard Command Center

The Command Center allows fine-tuning of your overclocks and other system settings.

Test Configuration

Our basic test configuration for this motherboard;

AMD 1950x Threadripper CPUz
AMD 1950x Threadripper CPUz

Here we see CPUz showing our system running at default settings. With Auto settings, the system will adjust Core Speed up and down depending on workloads.

On the memory side, Patrick has been testing this board and has had 64GB (4x 16GB), 96GB (6x 16GB), 112GB (6x 16GB + 2x 8GB) and 128GB configurations working. You can see examples here. The board seems more forgiving memory wise than the original Ryzen 7 launch boards.

AMD Threadripper 1950X 96GB MSI X399
AMD Threadripper 1950X 96GB MSI X399

Overclocking the MSI X399 Gaming Pro Carbon AC

This screen shows the 4GHz overclock that we used for our OC benchmark tests. It is very simple to do with only a few clicks and a restart needed.

MSI X399 Gaming Pro Carbon AC Motherboard BIOS 3
MSI X399 Gaming Pro Carbon AC Motherboard BIOS 3

At the top left, we find Game Boost. This area toggles between Hardware and Software. Hardware refers to the OC knob which we saw at the left corner of the motherboard. This feature helps reduce the impacts of threads hopping cores and automatically overclocks the CPU with 11 steps of speed available. The OC knob is useful when playing games or using applications that have issues when running the full Threadripper setup. On the consumer side, many users and applications are not optimized for NUMA systems.

Switching Game Boost to Software (SW) gives full overclocking abilities to the Threadripper CPU. Setting the Software Game Boost to 10 will get you 4GHz, we used these settings for our overclock benchmark results.

Just to the right is A-XMP switch which uses XMP values to set the speed of the RAM you are using. We set this to two, which gives the full speed of 3200 MHz RAM that we will be using.

We also recommend directing a case fan on the VRM heat sink next to the processor socket, it does get very warm when overclocking.

Let us move on to our benchmark results.

AIDA64 Memory Test

AIDA64 memory bandwidth benchmarks (Memory Read, Memory Write, and Memory Copy) measure the maximum achievable memory data transfer bandwidth.

MSI X399 Gaming Pro Carbon AC Motherboard AIDA64 Memory
MSI X399 Gaming Pro Carbon AC Motherboard AIDA64 Memory

As we can see, setting our motherboard to 4GHz and XMP settings has a huge effect on Memory bandwidth.

Cinebench R15

At STH, we actually broke Cinebench R15 using a quad socket Intel Xeon Platinum 8180 system. On the consumer side, the benchmark is somewhat more relevant.

MSI X399 Gaming Pro Carbon AC Motherboard Cinebench R15
MSI X399 Gaming Pro Carbon AC Motherboard Cinebench R15

Overclocking here yielded a nice approximately 10% performance improvement.

c-ray 1.1 8K Preview

We are building a new c-ray data set based on Ubuntu 17.04 “Zesty” and a higher spec render.

AMD Threadripper 1950X C Ray 8K Preview
AMD Threadripper 1950X C Ray 8K Preview

This is based on stock settings as we are comparing it to other CPUs. We have covered extensively that AMD Zen architectures hit above their weight in c-ray and Cinebench, but this should give you an idea of just how well the architecture performs.

We only have around three dozen systems in the comparison set.

GROMACS Small Simulation

Since we started sampling results for our longer-term GROMACS STH Small simulation test case, we decided to share results:

AMD Threadripper 1950X GROMACS Small Benchmark
AMD Threadripper 1950X GROMACS Small Benchmark

As you can see here, performance is not quite as stellar as we saw in the narrow c-ray benchmark, but still very good.

Geekbench 4

Geekbench 4 measures the compute performance of your GPU using image processing to computer vision to number crunching.

MSI X399 Gaming Pro Carbon AC Motherboard Geekbench 4
MSI X399 Gaming Pro Carbon AC Motherboard Geekbench 4

Again, we have solid results.

PCMark 8

With PCMark 8 you can test the performance of all types of PC, from tablets to desktops. With five separate benchmark tests plus battery life testing, PCMark 8 helps you find the devices that offer the perfect combination of efficiency and performance. PCMark 8 is the complete PC benchmark for home and business.

MSI X399 Gaming Pro Carbon AC Motherboard PCMark 8
MSI X399 Gaming Pro Carbon AC Motherboard PCMark 8

PCMark 8 gets some benefit from the overclock.

Passmark 9

PassMark 9 Performance Test allows you to benchmark a PC using a variety of different speed tests; it tests the entire PC and all its component’s.

MSI X399 Gaming Pro Carbon AC Motherboard PassMark 9
MSI X399 Gaming Pro Carbon AC Motherboard PassMark9

Here we see a fairly large improvement likely due to the extra memory bandwidth.

BAPCo SYSmark 2014 SE

SYSmark 2014 SE (Second Edition) is an application-based benchmark that reflects usage patterns of business users in the areas of Office Productivity, Data/Financial Analysis, and Media Creation.

MSI X399 Gaming Pro Carbon AC Motherboard BAPco SYSmark 2014 SE
MSI X399 Gaming Pro Carbon AC Motherboard BAPco SYSmark 2014 SE

Power Consumption

Power consumption can vary widely depending on processors used and the number of HDDs/SSDs/Expansion cards used. Here we test just a basic system.

MSI X399 Gaming Pro Carbon AC Motherboard Power Test
MSI X399 Gaming Pro Carbon AC Motherboard Power Test

For our tests, we use AIDA64 Stress test which allows us to stress all aspects of the system. We do not stress test the GPU in these tests.

Running at full 4GHz overclocks does pull a fair amount of power, this does not include overclocking and stress testing our ASUS STRIX GTX 1080 which would add even more power use.

Conclusion

Our first impressions of the MSI X399 Gaming Pro Carbon AC was it is heavy, all of the extra features and hardware adds up in weight. The fact is that this platform focuses on expandability as a desktop. Some may prefer more PCIe slots but we liked the setup the board had. We also liked the focus on M.2 SSD support as AMD has promised bootable NVMe RAID on X399 in late September 2017. The added 802.11AC Wi-Fi was a nice touch. We understand why MSI did not move to higher-speed networking. While my lab is 10GbE (SFP+ and 10Gbase-T) enabled, Patrick uses 40GbE and 10GbE at home. As 10GbE becomes a lower-spec networking standard, users with high-end workstations will be moving to 25GbE, 40GbE or faster.

We ran the board at default settings at first which proved to be adequate in performance, heat output and power draw. In fact, this is a good place to start to see if you even need to overclock. Later we moved on to overclocking and found MSI has done a fantastic job with the built in overclock settings. We simply set it to Gamer Boost 10 (4GHz) in software and the A-XMP to our RAM speed of 3200HMz, and it just worked. Overclocking the X399 Gamer Pro Carbon AC was about the easiest 4GHz overclock we have found on any motherboard/processor combo so far.

We found that in some cases running default settings was the best choice for every day 24/7 running. Prolonged heavy loads at 4GHz can stress your cooling solution, this is why we decided on the Thermaltake Water 3.0 Ultimate, it is a triple fan radiator AIO, and we think it’s a good choice for Threadripper. It stays relatively quiet in a case and one can use low noise settings (sub 1000rpm fan operation) with the default clock settings.

Various other settings such as XMP for your RAM might have better results leaving it disabled or moving at a slower speed. It will take some testing to find the right combinations for workstation workloads. MSI has made this process a snap on the X399 Gaming Pro Carbon AC; BIOS profiles enable you to save your desired settings and reboots are fast.

For those that like RGB effects the X399 Gaming Pro Carbon AC has a wealth of effect adjustments using Mystic Light Utility. This software can change your RGB effects with clicks of your mouse to what effect you want. You can also customize both with the included cover bits as well as 3D printed part mounts. If you use your workstation for 3D design and have a 3D printer, that is a feature you are going to use.

8 COMMENTS

  1. Patrick this is misleading.

    Before we get too far, if you are looking for massive amounts of RAM, and support for ECC RDIMMs, look elsewhere. We tried with several sets of 16GB and 32GB RDIMMs to no avail. Unbuffered DDR4 is where it is at.

    Did you try unbuffered ECC?

  2. Threadripper is a content creators dream (even according to Pugetsystems and they only sell intel), when you want a content creators wet dream you should have a look at EPYC. EPYC 7401P will give you a bit better performance in multi-threaded applications for around $100 more and $200 more for the motherboard, it supports RDIMM’s and even more PCIe lanes.

  3. I would be very keen on seeing some more coverage of the ECC support on these systems, unbuffered ECC DDR4 2667 is starting to become available and compatible for TR boards.

    Unbuffered ECC DDR4 2400 already works and is supported as far as all the TR board specs are concerned.

  4. Well guys I think your mention of TR gromacs is a bit of an understatement and a big one at that, we are talking about a CPU that cost 1000$ with 32 threads that is able to reach more than 50% of the performance of 3000$(yeah THREE thousand freaking dollars) 40 threads xeon in a best case intel scenario benchmark. TR is tearing a freaking new one to anything intel tested here in $/Perf to the point it stopped being funny. BTW TR need unbuffered ECC not registered sadly(I guess is to avoid eating sales of Epyc on WS).

    I really think you should add summarized $/Perf and W/Perf comparison as well in the future because sometimes those conclusions can come as very “biased” toward either, specially when is clear any Xeon Gold using AVX-512 will drain more power than the performance difference would imply and will get very hot as well and in WS/servers this cost money so is kinda important same with prices for ROI.

    I mean is utterly useless to see a Xeon gold in a WS bench for me if I can’t compare power and price as well to put things into perspective. At very least be specific on the articles if this is a preview or something like that and will not include proper information until a further analysis(I can live with that)

    BTW, Epyc’s benchmarks are still coming? I ask because this generation of Xeons look Meh!(at those prices at least) outside the platinum ones for 2P+ systems but Epyc look great but it need a full review to be sure

  5. @rafael
    Quad 8180 system tops at 1336 Watt and dual epyc 7601 tops at 480 watt (information from STH).
    Intel TDP is 205 Watt AMD TDP is 180 Watt.
    4×300 + 136 = 1336 Watt and 2×180 + 120 = 480 Watt or
    4×310 + 96 = 1336 Watt and 2×200 + 80 = 480 Watt
    Perfomance per Watt on Gromacs will be roughly the same(Intel AVX512 vs. AMD AVX2).
    Performance per dollar….

  6. +1 on what @rafael said.

    Also, STH could revisit the topic RDIMM ECC vs. UDIMM ECC, should we really care for RDIMM ECC or is UDIMM ECC memory enough?

    I see Threadripper as a fantastic platform for small servers. Unfortunately, we only have “gaming” motherboards for it so far. That is too bad.

  7. @rafael and Marcelo B – Totally agree that Threadripper is a great CPU. Price/ performance is hands-down great.

    Please never compare CPU pricing. TR tops out at 16C/ 32T. EPYC for $1500 you can get 2x 7281’s with 32T and 64C. There are a lot more options in EPYC and Xeon Gold land. The big issue comparing CPU prices directly, especially across platforms, is that you miss system and networking costs. We have some 100Gbps networks in the lab that switch port, cable and NIC costs alone are over $1000. RAM in machines costs us no less than $2000 for modern dual socket systems. There is a lot more involved.

    On the GROMACS side, #1 Xeon Gold and Platinum are (way) faster. Remember, we have a fairly significant publishing lag. #2, AMD has much better options for GROMACS performance than TR.

    On the small server bit, no IPMI means that TR is relegated to the few who are calling desktops servers at this point. #1 basic remote management functionality. Also, cooling either with an off the shelf liquid or air cooler means putting them in a rackmount at this point will cost a ton more than a standard server platfrom from an operational cost perspective.

    On UDIMM v. RDIMM – the main “issue” is that UDIMMs practically top out at 16GB these days. A 16GB DDR4 RDIMM would be considered small from the DDR4-2400 generation and onwards. 128GB in a 16 core system would only cover the bottom third of servers deployed in the 2011/ 2012 era (E5 V1) if I recall correctly. Even on my personal workstation (that I just switched from 2P E5 V3 to Threadripper, see the build forums), I have run out of memory when I was running the 2P E5 V3 with only 128GB RAM. Again, I like the TR platform that I went out and bought parts to put it into my personal workstation.

  8. @Patrick Kennedy

    Thank you for your answer and again I agree with you and I understand that may have a time lag since form what I can gather based on the articles Intel seem to flood your offices with review samples while AMD seem to have issues sending their samples on the same timeframe.

    My advice will be keep WS and Server measures separated or contained to where it make sense to compare them.(I saw your article on Epyc 7251 and is much clearer now) because it generate this confusions in some cases

    ThreadRipper is a very interesting option because it can land as HEDT or WS hardware equally well for many scenarios and in the WS arena is even more interesting than Epyc and server class Xeons in many scenarios because the WS hardware has always suffer of lower IPC/freq compared to their desktop counterparts but with Threadripper I can have my cake and eat it too because it offer high IPC but also offer ECC(udimm but still is ECC tho and I agree with you is not for BIG DATA users) and enough connectivity to please Most WS users and still is way cheaper than any WS class hardware was 3 months ago.

    Another thing that make TR such a delight is Zen CCX design, for developers like me is extremely interesting because unlike 3 months ago I can optimize – profile – debug – compile and it will simply work from a Ryzen3 to Epyc 2P system with the same tested and certified unmodified binary(outside thread contention and scaling of course) with a decent number of cores with high IPC(for debug and profiling this is a god send) on 1 machine, no more remote debuggers, etc. unless is really necessary.

    ZFS + NVME Raid capabilities(no need for BIOS here) will make an extremely interesting option as well for NOSQL database users and developers as well since the biggest problem here is always I/O and X399 and Sr4 offer lots direct to CPU (U)M.2 NVME capabilities and a huge amount of SATA(SAS) for cold storage as well.(for example most X399 system can handle 1 bootable M.2 RAID1 + RAID 60 with 8 SATA drives with 1 partitioned M.2 SSD for ARC and ZIL caches for cold storage) <– CouchDB/MongoDB wet dream system

    Hence I think it should be interesting to say the least a real WS comparison between Xeon W(this should be the direct competitor for TR in WS, X299 come without ECC so is useless outside HEDT) and Threadripper(and maybe 1P Epyc when those are available) with proper $/power comparisons, virtualization(IOMMU groups should work fine on X399 for most configurations), GPGPU and I/O capabilities as well(for example Xeon W handle M.2 through chipset like X299? etc.)

    Anyway thank you guys for your hard work

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.