I just did my ENTIRE FRONT END SUSPENSION-STEERING OVERHAUL and here is the DIY.
It is a Long Write-up! So get some Popcorn and Coke to get through it.

At 105K miles, here is my observation:
- The Thrust Arm: Bushings are long gone (may have been gone around 50K) with oil leaking out, rubber cracked; the BJ side is a bit loose but no play yet.
- The Control Arm: Bushings are still OK, the BJ side is a bit loose but no play yet. May have another 30-40K miles.
- Tierods: INNER and OUTER BJ a bit loose but no play yet. May have another 30-40K miles.
- OEM Struts (Sachs) are long gone with no resistance and oil leaking out the top seal. The Strut Guide (with built-in bearing): grease dried out, there is slight-moderate play in it. May have another 30-40K miles.
- The Sway Bar Rubber bushings: the hole is widened and loose.

Now with Brand New Suspension, car is nice and tight. I will have to wait to do the Rear Suspension later (No time right now with family and kids).

PARTS LIST:
I got 90% of my parts from EACTuning.com, excellent services/prices. They also know the E39 well, so if you get stuck with any technical stuff, call Jared or Mark at EACTuning.com.

* The Lemforder Thrust Arm comes with liquid-filled Boge bushing, which can leak after 30-40K. Best is to buy the Thrust Arm with Meyle HD already pressed in for you. The Meyle HD Bushing allows the Thrust Arm to last much longer like 100K or so. Only available at EacTuning dot com:http://www.eactuning.com/e39-thrust-...ngs-p-453.html

* The issue of re-using nuts/bolts: I use New nuts/bolts, but most BMW mechanics re-use the bolts, they simply change the nuts. If you go this way, note that the New Lemforder Items (Tierods, Thrust and Control Arms) come with the extra Nut in addition to the Ball Joint Nut! So the only thing you may need are the Pinch Bolts Nuts holding the strut in to steering knuckle: PN 33326760374.

ITEM..................................PN.......... ......Price/each.....Qty....Subtotal.......Comment
Bilstein HD Front Struts........VE3B406H1.........$167.08......x2... ...$334.16
Strut Mount.........................31336752735.......$4 3.18......x2.......$86.36
[Rubber Boot for Strut]......31331091868.........$2.35.......x2.......$4. 70
(Bilstein had its own Rubber Boot and Internal Stopper, so no need to buy Rubber Boot for Strut if you use Bilstein)

Left Wishbone (= Control Arm)
LEMFOERDER...................31121094233.........$ 133.14.......x1.........$133.14
Right Wishbone (= Control Arm)
LEMFOERDER...................31121094234.........$ 133.28.......x1.........$133.28
Collar screw
M12X1,5X95-10.9............31306779823....................... .....x2.........To get from dealer
(Control Arm Bolt same is the same PN as the Pinch Bolts for Steering Kuckle)

2. One 2-foot length of black cast iron piping $5 at Home Depot Hardware Store. This helps with the 3/8" ratchet to undo tough nuts/bolts.

3. Harbor Freight Ball Joint Removal Tool: PN 99849 ($18.00):http://www.harborfreight.com/cpi/cta...emnumber=99849
This is a MUST! Don't even dream doing this job without this Ball Joint Removal Tool!
Remember to spray WD-40 (or similar lubricant) onto the Ball Joints and let it sit for 30 minutes before removing it.Oil/Grease the BJ Tool a bit before using it. At this stage, you can dream about Bahamas vacation when tightening the BJ Tool (22-mm socket-ratchet with iron pipe) but you will hear a "Rude Awakening" when the BJ comes loose: a loud bang like a shotgun! So Ear plugs are very useful when you get to this stage! Or tape your ear with some masking tape etc.
The trick: Tighten in increments, let's say 4-5 moves at a time to allow the BJ to adjust to the force; stop and repeat in a few minutes. By the time you reach 110-120 Nm, you should get the loud bang! The BJ Tool will drop to the ground.

4. Strut Nut Socket.
- The Stock Sachs Strut Nut is 21 mm and the 13/16" (= 21mm) Spark Plug Socket works just fine.
- The Bilstein Strut Nut is 22 mm, so you have a few options:
a. From Speaking with local mechanics, they laughed at me when I mentioned I need 22 mm Socket with Hex Sides at the top for a wrench to fit. They all use Impact Air Tool set at the lowest setting to get about 60 Nm. They have done hundreds of shocks without problems.
b. Re-use the Stock Sachs 21mm Nut (it will fit the Bilstein), probably OK to re-use 21-mm stock Nut.
c. The special 22-mm Socket with a Hex Top (Like a spark plug socket) is expensive and difficult to find. What I did was: Get the Harbor Freight Oxygen Sensor Socket Tool: PN 95045 ($4.00):http://www.harborfreight.com/cpi/cta...emnumber=95045
The Oxygen Sensor Socket Tool is a bit "fat" and cannot be inserted into the Strut Guide to tighten the nut, just grind the socket a bit and you will be able to insert it.
I used a Belt Sander turn upside down and grind it down a bit. You can also use a Stone Wheel Bench Grinder as well. I made a nice tool for Bilstein Strut 22-mm Nut for only $4.00!

5. Liquid Paper: You wonder why right? Yes, use this (or any paint touchup brush) because there are many nuts/bolts and it is easy to forget which one has been torqued or not. At BMW factory, they use blue paint to mark a nut or bolt that has been properly torqued, so later at a glance they know the bolts/nuts have been torqued.

6. Wrenches: Get a complete set of metric anyway to qualify you as a Saturday mechanic......
Most Metric Wrench Set jumps here and there, missing one or 2 wrench sizes. Get a compete set, i.e. every single size from 8-mm all the way to 25-mm for your collection!
* LONG 13-mm. The 13-mm wrench is for the Sway Bar Bushing nut, which is in a very tight place on the passenger's side and you DO need a long wrench for extra leverage!
* You need a total of two (2) 18-mm wrench for the Thrust Arms. The additional 18-mm wrench is for the Thrust Arm, which is in a VERY TIGHT space (i.e., no space for socket); unless you remove the Plastic Housing next to it.
- A 16-mm thin bicycle wrench is very useful to hold the Sway Bar Endlink bolt while you undo the 16-mm nut. The standard 16-mm wrench is a bit 'fat' and can damage the endlink Rubber boot: don't ask me why but I made this mistake in my 1998 Volvo V70, the 16-mm wrench pused the boot too far out, I spent 45 minutes repairing the rubber boot = not funny!
- If you use a standard 16-mm wrench, then BE VERY CAREFUL not to damage the rubber boot! The 16-mm BICYCLE wrench makes this a breeze! It is $4-5 at local bicycle store, I use 'Park Tool' wrench (This is known as a 'CONE Wrench' in the bicycle world):http://www.parktool.com/products/

7. The BIG Trick: Jack up BOTH Sides but work only on ONE Side at a time. Why? Because if you jack up only one side of the car and try to remove the end link from the sway bar, you will likely use the 4-letter word! Jacking up both sides makes the job MUCH easier.
Why work only one side at a time? Because you want to leave the other side alone as a reference in case you want to know how nuts/bolts are fitted, orientation etc.

8. From the Start, Undo all the nuts/bolts on both sides but STOP as soon as the nuts are flushed with the end of the bolts, Why? This loosens all the nuts but keep the components (tierods, thrust arms, control arms) in place. Also this allows space for spraying lubricants such as WD-40 into the Ball Joints. For Ball Joints Nuts: if you leave the nut flushed with the end of the Bolts, you now have extra place for the Ball Joint Tool to bite, and less likely to slip out (see pic later)!

9. Do this inside of your garage or out of place in case you don't finish the job in one day, you don't block traffic!

10. Note on BMW terminology: Go and look at let's say a 1998 Volvo V70 with standard A-arm: 2 bushings and one ball joint. BMW simply splits this A-Arm into two (2) separate parts, each with its own bushing and BJ and calls it "Thrust Arm (front part) and "Control Arm" (rear part). This split of the Ball Joints allows the Front Tires to move up and down in a more controlled manner (tires making more contact with the road under different situations) during turns ---> spirited driving ---> Ultimate Driving Machine!

11. Take special care not to damage any Rubber Boot. Nobody sells these Rubber Boots as separate items. If you damage any Rubber Boot, your only recourse is "Energy Suspension" brand aftermarket RUBBER BOOT part.

1. Raise and Support car on BOTH Sides but work on ONLY One Side at a time. Remove under car Plastic Shield. And support with Jackstands as shown. It is important to place Jackstands at the proper spot so it does not interfere with removing nuts/bolts later. Chock REAR Wheel. NOTE that I placed the tires under Front Jack Pad as 2nd line of defence in the extremely unlikely situation that the Jackstand fails. Your life is worth more than the Jackstand!

2. Get a container to store nuts/bolts because you can easily lose them. Make note of which nuts/bolts go where etc.

3. Use a Towel to protect paint work above wheel well! Removing the strut can damage paint work if not being careful!

4. Loosen all nuts and leave the nuts flushed with the end of the bolts, i.e. do not remove the nuts yet.

5. Now spray WD-40 on the Ball Joints (BJ) and let it penetrate the parts.

6. Remove Brake Caliper and hang it up using electrical wire:

7. Loosen the Strut TOP nut (21-mm for Sachs and 22-mm for Bilstein) but do NOT remove it. Use a 6-mm Allen Wrench to counterhold it (Trick: use an 8-mm socket and extension to hold the Allen wrench). As mentioned above, 21-mm Nut ---> Large Spark Plug Socket; 22-mm Nut ---> Use the modified Oxygen Sensor Socket (sanded thin a bit):

8. Remove Sway Bar End Links:

9. Remove Outer Tierod BJ:

10. To remove Strut, remove the three (3) 13-mm nuts on the wheel housing. Steps #8-9 are necessary because the steering knuckle must be dropped to remove the Strut. Also Loosening the Thrust/Control Arms Nuts (on the sub-frame side) allows the strut to drop easier because it is not held by the bushing!). Spray some WD-40 at Strut-Steering Knuckle interface. Loosen the Pinch Bolt. Then twist the Strut back and forth to work it loose from the Steering Knuckle:

11. Place a jack below the Steering Knuckle and slowly lower it to allow the Strut to come out. The clearance is very tight, so watch to prevent paint work damage!

12. Now STOP and spend a minute to observe the Strut layout (if this is OEM and has not been changed previously). I think the Spring TOP and BOTTOM are different, so don't mix it up. Mark the TOP of the Spring with Liquid Paper. The BOTTOM of the Spring is about 6 inches to the Right of the Notch on the Strut Perch or roughly at 4:30 o'clock if the Perch Notch is 12 o'clock.
The Trick: use the old rubber pad as a guide, transfer it over to the New Strut and Mark the spot where the BOTTOM of the Spring should be, this will make your life mush easier and avoid the clunking problem seen in this forum from improper Strut installation. The Bottom line: follow the factory setup!

13. I use three (3) Spring Compressors instead of the usual 2 compressors, it is much easier (and SAFER) to compress the Spring this way. Remove the Strut and NOTE the layout. Do NOT lose any washers. Note that at the bottom of the Strut Guide, there is a protective washer, I re-use it. Of course, you can also get a new protective washer.

14. Now install the new Bilstein Strut, Rubber Pads (the UPPER Rubber Pad is different than the Lower Rubber Pad), New Strut Guide, Washers in the appropriate order. Align the Lower Rubber Pad with the Notch on the Strut Perch:

15. Hand-tighten the 22-mm TOP Nut for now, final torquing of this Nut will be done later in the car. Slowly release the 3 Spring Compressors making sure that the Spring lines up exactly as factory setup: TOP of Spring touches the Guide notch and BOTTOM of Spring lines up with the 4:30 o'clock mark on the Perch.

16. NOW Stop! If you want to replace the Thrust Arm, do NOT install the Strut now! I made this mistake…...............Arghhh…........ .......and later have to undo the Strut-Steering Knuckle attachment because the Thrust Arm BJ cannot be removed with the Strut in place!
NOTE: BJ Removal Tool bites on both the nut (I leave it flushed with the bolt's end) and the bolt:

17. Replace the Thrust Arm with new Thrust Arm, hand-tighten the 22-mm Nut but do not torque it yet (Do all of these Nuts later). Before you can do this, you have to remove the Thrust Arm's protective boot (10-mm bolts) and the Plastic Fender Lower Housing and the Plastic trim (8-mm socket) which itself has three (3) 8-mm screws:

18. Replace the Control Arm with new Control Arm, hand-tighten the 22-mm Nut but do not torque it yet (Do all of these Nuts later).

19. Re-install Strut, taking care not to damage paint work!
- Place a jack below Steering Knuckle and slowly raise it up.
- Twist the new Strut a bit to allow it to sit properly.
- Make sure the Strut bottoms down properly on the Steering Knuckle!
- Also check the R vs L marking lines up correctly as shown.
- Jack up the steering knuckle a bit more, verify that everything is correctly lined up.
- Now torque the Pinch Bolt to 81 Nm.

20. To replace the Tierods:
* Stock BJ Nut is 18-mm
* Steering Rack Driver's Side: 32-mm wrench and counter-hold with adjustable wrench.
* Passenger's side, no place to counterhold (simply a round Steering Rack Shaft: no place to apply the adjustable wrench), so apply 32-mm wrench and tighten it. I tighten it a bit below the published torque values (71 Nm) to avoid damage to steering rack. Actually when you remove the 32-mm nut, it was not tightened much from factory, it comes out easily:

* Do NOT forget to:- Measure the old tierod and set the NEW tierod to same length before installation, this way you come close to previous setting, it makes subsequent alignment easier.
- Apply a bit of extra grease to the output shaft rack and INNER ball joints.
- Protective Rubber boot.
- The Oetiker clamps: dry fit on the rubber boot first so you know what notch needed to tighten it. Use a Ceramic Tile Cutter (Tips filed blunted) or any Oetiker Clamp Tool to tighten it. Do not over do it. Just tighten it snug.
- The BJ side: adjust the Steering Knuckle a bit here and there (support with jack) so the BJ can go in.

21. Sway Bar Bushings: 13-m wrench and Allen wrench to counterhold. Driver's Side is easy.
Passenger's Side 13-mm Nut will drive you Nuttttttttttt! The space is so tight to fit the 13-mm wrench. On the back side, there are two (2) nuts. The Top Nut holds the exhaust shield, which is lifted up a bit to work on the lower nut. Slide the Bracket out, rotate the Rubber Bushing upside down to slide it out. The Pass Side Bushing alone took me 1.5 h! It is a PITA. So, for The Pass Side Bushing, you are allowed to use the 4-letter word…..............….............. The alternative is to turn on some nice radio music to soothe your pain dealing with this nut!

22. Now go around the car and torque ALL nuts/bolts except for the nuts on Thrust Arm and Control Arm (which need to be torque with car on the ground and properly loaded (150lb in each front seat, rear center seat, full gas tank and some luggage and all that blah blah blah…...............).
Many people simply torque these Nuts on Thrust Arm and Control Arm with car on the ground w/o the extra weights. Any nuts/bolts that have been torqued, mark with liquid paper or paint touch-up so you know. These include:

23. Now: Install Wheels, Remove Jackstands, LOWER the car and drive it up on ramps. Then:
Torque:
- Thrust Arm Subframe 18-mm Nuts: 110 Nm***
- Control Arm Subframe 18-mm Nuts: 110 Nm***
NOTE: As a practice, tighten the Wheel Bolts to 110 Nm using a Torque Wrench so you have an idea of what 110 Nm feels like because under the car, it is virtually impossible to fit a torque wrench, so use your muscles and feel (I did!!!).
*** Torque these bolts ONLY with car on the ground and weighed properly(150 lb each front seats, 150 lb center rear seat, full gas tank)
I had my 16-year-old and 11-year old kids to sit in the front and that is good enough for me!

Also, after install, the car WILL appear higher than before, don't panic yet!
Give the Bilstein Strut 30 minutes to settle down before torquing these Thrust Arm and Control Arms Subframe 18-mm Nuts to 110 Nm.