I have always suffered from poor print quality with both Z-banding (bumpy side walls) and oval holes on my prints and thought that it was (at least in part) due to the badly printed x-axis idler that was delivered with my printer. I finally received replacement parts in metal.

http://www.geeetech.com/upgraded-metal-kit-for-geeetech-prusa-i3-pro-series-3d-printer-p-970.html

Original X axis x axis metal

This solved my z-axis banding issue perfectly but not my oval holes and non-square prints. While tinkering I also decided to do a little additional update. My bed leveling screws (I might have auto leveling but still like to keep my bed level) use the traditional wing nuts as an adjustment screw. This has a big drawback on my machine as the wing nuts are too wide to pass the wooden parts so can only be turned 1/2 turn each time so they align along the y axis (clearing all the wood).

I printed some of the following as part of my calibration efforts.....

http://www.thingiverse.com/thing:16428

This made leveling my bed so much easier. I followed toms guide for leveling which is a big help.....

.....but found that my bed despite being level against the paper still didn't print very well so I also adjusted further with a calibration print I found on thingiverse. After several times I got it setup perfect. However printing another 20x20x20 calibration cube with a hole through the center confirmed that I still had the oval issue and that the cube was not square in the X and Y axis. I finally tracked this down to the wooden frame not being square (warped).

This was the final straw for me, with all the issues I have had with my printer kit and now a warped frame I decided to stop throwing money at it spend it getting a fully off the shelf machine which comes ready to run.......entry my new XYZPrinting Da Vinci 1.0A

DaVinci

This proved to be an excellent decision and my first prints ran perfectly right out of the box.