First, let me tell you the good: I choose this kind of CNC even when I already knew it was difficult to put together because of the kind of materials. It is made mostly out of solid heavy gauge aluminum, which I like. If you put it together right it feels heavy and strong. Now this one does have a manual, the one I got before (and returned) didn't have one and the few instructions were incomplete, and altogether wrong. This particular one has a nice and updated printed manual. I tested all the functions after putting it together and everything worked as it supposed to do. I did have an advantage because I already put together the other one, and it was pretty much the same building. On the favor of this one, al the parts were the right ones, unlike the first one I got, don't know if this is because of the different vendor or it is an updated model. There is one that is the same model but updated, it had a different motherboard and is made of bakelite, it seems much easier to build but I like the all-metal feeling of this one.Now the bad: There is basically no software included for the routing. I thought this won't be a problem as there are many free programs out there. Boy, I was wrong. I haven't found a decent free program for CNC. Some have outrageous prices like $600 or more. I found a possible one, Easel from Inventables they give you a free test and after that is less than $100. I did not try it because I got frustrated too soon and it turns out your only free test is just a few lines. Still, it seems like a possible solution I may try in the future. For now, I am trying a free one I found called DXF to G-Code. It seems a bit basic but still, I will try it. You can also generate G-Code with Inkscape (great program and free). It's a bit tricky to get it to work but seems really good.Also on the bad, on my second test, the machine stopped for no reason at about 2/3 of the job. I am using this machine offline only because my computer shows no available COM port so I can't connect any more robots. Keep this in mind if you have many toys, once a device takes a COM port, it tends to not release it. Windows have no way to close an open COM port. Now technically the port is only open because a program opens it, however, the most common (and annoying) thing is that each program loads itself automatically, Let's say you have some other robot or device that uses the same port, the software for that program will 'prepare' everything for the use of the device including opening the COM port. So far I haven't found a way to force close the ports not even to list who is using them and force close the application. The good thing about this machine is because of the included control, you can use it offline, just save your files to a memory card and print directly on the machine. This is also good because this kind of machine will cause either some smoke (and a lot of smell) if you are using a laser or noise if you are using the router. So with the offline opti