Automotive

Here’s Exactly What It Cost Me To Buy And Rebuild A BMW E30

It all started 14 months ago with a straightforward objective: buy an older BMW 3 Series in need of some work, make it fully functional, and freshen up its appearance. It was a process I’d done before, and one that I’m sure I’ll do again. However, this time I greatly underestimated what I was getting into.

Back in late July of last year, I was itching for a new project to undertake (as if owning one life-sucking car wasn’t enough.) I was cruising Craigslist and Facebook Marketplace when I came across a car that caught my eye: a 1989 BMW 325i, of the much-loved E30 generation.

It was rear wheel drive, it had a manual transmission, it had four-doors, and it was a one-owner. It checked all the boxes for me.


At the seller’s house purchasing a mistake. The Bronco in the background looked cool but it was in far worse shape than the BMW.
At the seller’s house purchasing a mistake. The Bronco in the background looked cool but it was in far worse shape than the BMW.
Image: Peter Monshizadeh

The very next day I found myself at the seller’s house giving the old BMW a look-over. It was obviously in need of work, but during the test drive, the car’s old-school BMW charm won me over. I knew red flags were all over this thing but at the time I simply didn’t care. I was searching for a project, after all, so I threw in an offer for $1,800 and ended up bringing home a very neglected Bavarian sports sedan.

Advertisement

I didn’t anticipate that for the next year my weekends would be booked and my finances would be nearly bled dry trying to save it.

The Starting Point

After one day of ownership, the true state of disrepair finally hit home. It was in very poor shape. I’ve gone out on a few limbs buying neglected cars before, but this one was the biggest gamble. The amount of work it needed kept me up at night. Everything that could leak, was. The interior was in shambles and the upholstery was ripped to shreds.

Most of the electrical stuff didn’t work, the body was rusty, and the paint was faded. It was a money trap.

Reflecting back on why I’d bought it the day prior, I recounted the upsides: it ran and drove okay, the tires were near new, and it looked pretty damn cool from 15 feet away. I guess that was worth something, right?

Wrong. I screwed up. I should have sold this box of bolts for scrap and cut my losses immediately. Alas, I’m not a wise person, so I decided to press on and and revive it, if only to prove to myself that it could be done. Well, I’m here to tell you it was possible, but only at great expense. Let’s dive in and see what it all took.

Advertisement

(I also documented in detail the entire year-long project over 27 episodes on my YouTube channel. Check it out below!)

Rust Rescue

This isn’t actually where the repairs started, but from a critical-issue standpoint, it was the E30’s largest make-or-break obstacle. I only discovered the severity of the car’s rust affliction after I’d started disassembly to address some drivetrain problems.

Once the rust had been uncovered, absolutely nothing else ailing the car would matter until it was fixed.

The first area of rust I tackled was the left front wheel well. There was a perforated seam between the wheel well and the firewall that needed patched up and braced.

Advertisement

With that complete, it was on to the driver’s floorboard which had some holes that needed filled in.

The left front rocker corner was rusted through so that required fresh metal to be welded in.

Next came the left rear wheel arch that had been eaten away from years of moisture trapped inside the rocker. This required quite a bit of fabrication to replicate the original design on both interior and exterior panels of the wheel arch.

Advertisement

The left rear spring perch had a nasty hole rusted through it and required a patch to tie it all back together.

The rear fascia that meets with the battery box in the trunk had developed a sizable hole. Reforming the battery box along with reconstruction of the rear fascia was required.

The fuel tank ventilation hose pass-through in the right rear wheel well had created numerous rust holes. I decided to re-think BMW’s design by integrating a more simplistic approach by relocating the pass-through hole closer to the expansion tank in the rear of the wheel well.

Advertisement

Finally, there was a large rust hole in the right side rocker panel. Cutting the rust out and welding in a new patch saw the rust repairs complete.

Section Cost: $82.73

Engine-Related Repairs & Maintenance

One of the upsides to this car was that it ran. The engine, believe it or not, actually seemed to work really well.

It leaked like a sieve, but functioned like it should. No service records came with my car, so there were plenty of maintenance items that needed addressed all at the same.


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Advertisement

First on the docket was to replace the timing belt and all related consumables at the front of the engine. This included a new water pump, a thermostat, a variety of oil seals, and some new gaskets.

A thorough degreasing precluded the replacement of parts while a fresh coat of paint on static components saw everything looking properly refreshed.

With the new timing belt installed, it was time to do a much-needed valve adjustment. Luckily, adjusting the valves on these M20 six-cylinder engines is as simple as it gets. In under 30 minutes the valves were returned to specification.

To complete the job, I swapped the valve cover gasket out for new, installed a new oil filler cap, and then bolted the valve cover into place.

Advertisement

The engine’s ignition components were functional, but most of them looked to be original to the car. I felt it best to replace the entire system with new parts. This included spark plugs, plug wires, ignition distributor cap, ignition rotor, and an ignition coil.

When it came to the cooling system, the radiator was in good shape but all the hoses (six in total) were in various states of deterioration. The throttle body heater channel gasket was also perished.

With everything apart, it would be foolish to not exchange them all for new parts. To finish the cooling system overhaul, I topped it up with fresh BMW blue coolant to rid the car of the incorrect green fluid that had been in it.

The oil filter tree that protrudes from the right side of the engine showed signs of leakage, so I removed it to install new o-rings all around.

Advertisement

The rubber-comprised intake plumbing was hard and brittle and would no doubt lead to vacuum leaks in the near future. I went ahead and replaced the idle control valve hose and intake boot elbow with new supple rubber parts.


New rubber parts throughout.
New rubber parts throughout.

The final engine-related items are a bit random, but were definitely needed to enhance the car’s usability. I made the air conditioning system functional again by replacing the a/c compressor clutch hub.

The old clutch hub’s rubber coupling ring was oil contaminated, causing it to deteriorate and completely fail. The new clutch hub would allow the compressor to spin with the engine’s drive belt once again.

Advertisement

Lastly came the replacement of the starter motor. The old starter looked original to the car, which I normally wouldn’t worry about since it still worked fine. However, because it is so difficult to access, I figured I may as well replace it with a new one while I had good access to forgo a future inconvenience.


New vs. old starter motors.
New vs. old starter motors.

Section Cost: $926.55

Fuel System

I’ve separated the fuel system from the rest of the engine-related repairs because of the sheer number of parts that needed serviced or replaced. Anything in a car’s fuel system is a candidate for replacement when it gets to this age and mileage.

The first items to address were the fuel injectors. There are six in total, one for each cylinder, as you might guess. These parts are constantly actuating while the engine is on.

Over time, they accumulate residue which adversely affects the volume and spray pattern of the fuel flowing through them. I removed the injectors and sent them off to a specialist to have them inspected and flow-cleaned. Surprisingly, they weren’t in terrible condition, but now they are in tip-top shape. I then reinstalled the refreshed injectors with new o-rings to seal them back up.

Advertisement

Next on the agenda was to replace the fuel pump. Occasionally the engine would stumble at idle and then die. Once this happened, it was difficult to restart it. After some diagnosis, I found that the fuel pump was on its way out—it couldn’t provide the necessary fuel flow that the engine required. The fuel pump is another part that is constantly running any time the engine is on, so understandably it had worn out after a few decades.

The fuel pressure regulator appeared to be original to the car, and I suspected that it was contributing to a rough idle symptom. The safe bet was to swap it out for a brand new item. Upon doing so, the engine idle became noticeably smoother.

The fuel filter looked as if it hadn’t been replaced in a long time so I swapped that out for a new one.

Advertisement

The fuel hoses on the car were quite hard. I decided to play it safe and replace all of the hoses with new fuel injection-rated fuel hose.


The new fuel level sending unit. A pricey thing!
The new fuel level sending unit. A pricey thing!

Finally, the fuel gauge wasn’t reading correctly. With the tank filled all the way up, the gauge would only read half-full. This particular BMW E30 came standard with two fuel level sending units (because BMW). After taking some resistance readings for each sending unit, it was clear that one of them was no longer working. While purchasing a new fuel sending unit hurt a bit ($235.06!) at least it was straightforward to replace. With that complete, the gauge was now reading true and the fuel system was sorted.

Section Cost: $587.26

Transmission and Drivetrain

The transmission was leaking badly and the clutch was original to the car. It was a no-brainer that the transmission needed to be pulled from the car to service all the important components that comprise the drivetrain.


Too bad all that oil didn’t stop the rust.
Too bad all that oil didn’t stop the rust.

This transmission was a bear to remove, mainly due to the difficult to access starter bolts. I had to work up some MacGyver ratchet extension combos but eventually all the bell housing bolts were removed and the transmission was out of the car.

Advertisement

With the clutch now exposed, I was shocked to see that it was in great condition. As it turns out, a clutch can be extended well past its expected service life if you’re a smooth operator and don’t burn it up.

Even still, I wanted to replace the old clutch with new. As part of the clutch renewal operation, I sent the flywheel out to a machine shop be resurfaced.

I then replaced the engine’s rear main seal, seal carrier gasket, and the transmission pilot bearing while the flywheel was removed.

With the flywheel freshly skimmed and looking pretty, I bolted it back up to the crankshaft with new flywheel bolts and then mounted up the new clutch friction plate and pressure plate.

Advertisement

The transmission was caked in oil and dirt, so a quick trip to the car wash precluded any of its leaky seal replacements. Once it was clean, I changed out the input and output shaft seals, the shift selector shaft seal, and applied silicone sealant to the detente spring cover. To accompany the newly-sealed transmission, I rebuilt the shifter linkage assembly so that positive gear shifting action would be renewed.

The transmission and related components were now ready to be reinstalled in the car.

To finish off the clutch system overhaul, I installed a new clutch slave cylinder and an accompanying hydraulic hose.

Advertisement

With the transmission back in, I turned my focus to the back end of the car where the differential and axles were in dire need of attention. The CV axles had split boots and the differential was leaking from every orifice.

The differential in the car was an “open” style differential. Instead of rebuilding it, I located a performance-oriented limited slip differential to swap it out with. This new differential cost a hefty $400, but it would greatly enhance the car’s driving experience. I went ahead and installed new output shaft seals in the new-to-me differential and then topped it up with fresh oil.

With the new differential bolted to the subframe, I installed the new CV axles to complete the car’s drivetrain refresh.

Advertisement

Section Cost: $1,142.86

Exhaust System

One of the most obvious faults with the car was its rusted-out muffler. While that definitely needed replaced, I figured I should also install a new oxygen sensor as a preventative maintenance measure.

Replacing the oxygen sensor turned out to be a bigger pain than originally planned. The old sensor was seized in place, so I enlisted the help of a mechanic shop to extract it from the exhaust’s mid-pipe. An oxyacetylene torch convinced the old sensor into releasing its grasp. With that done, the new sensor screwed right into place. This time there was anti-seize on the threads of the new sensor to prevent future serviceability problems.

I mounted the mid-pipe to the engine’s exhaust manifold with fresh gaskets and copper nuts. I then installed a new muffler section, complete with new hardware and gaskets. With the new exhaust in place, the car would now run quieter and look much better from behind.

Advertisement

Section Cost: $423.93

Brake System

The brakes were in decent condition but still required a moderate amount of work to make the car safe for continued use. The first item on the agenda was the non-functioning parking brake.

When the parking brake handle was pulled upward, there was no resistance. It certainly didn’t hold the car stationary. In a quest to find the culprit, I discovered that the parking brake cables going to the handle were broken. No wonder the thing didn’t work. So, it was out with the old cables and in with some new ones.

I then turned my attention to the four rubber brake hoses going to each wheel’s brake caliper. The hoses were no doubt original to the car and had begun to dry-rot from age. I swapped them out for some new, higher-performance steel braided brake hoses. The new hoses would hopefully lead to increased brake pedal firmness when compared to the old ones.

The left rear hard brake line that spans the suspension’s trailing arm had been modified at some point (probably due to a seized fitting) and was dangling in a precarious fashion below the trailing arm. Debris from the road could potentially strike the line and rupture it, leading to a brake failure. I decided it best to replace it with a properly routed line to reduce the likelihood of a Final Destination event coming to life.

Advertisement

There was a “Brake Lining” light illuminated in the instrument cluster, which indicates that either the brake pad sensors are worn (yes, BMW had that tech back in the ’80s), or the wires going to the brake pad sensors are broken somewhere.

Well, as it turns out, both cases were true. The wires going to the front brake pad sensor were cut because the sensor was worn out. Instead of replacing the sensor, someone devoid of electrical circuit knowledge simply severed the wires believing it would eliminate the dash light. Well, it didn’t work.


These three severed wires are for the front brake pad sensor. I installed a new waterproof connector to rejoin the wires. Of course, I forgot to grab a picture of the finished product but it does work now.
These three severed wires are for the front brake pad sensor. I installed a new waterproof connector to rejoin the wires. Of course, I forgot to grab a picture of the finished product but it does work now.

Upon replacing the brake pad sensors and repairing the wiring, the dash light was gone and the warning system was functional once again.

Advertisement

The next brake-related repair occurred at the brake master cylinder reservoir in the engine bay. The fluid reservoir sealing grommets were deteriorated, causing a slight brake fluid leak that trickled all the way down the firewall. With new grommets installed, the brake fluid leaks were eliminated.


A cleaned up brake fluid reservoir filled with fresh fluid. Note the new clutch master cylinder feed hose coming off the right side of the reservoir.
A cleaned up brake fluid reservoir filled with fresh fluid. Note the new clutch master cylinder feed hose coming off the right side of the reservoir.

Finally, a complete brake fluid flush and bleed saw the entire brake system renewed. The result was a firm, confidence-inspiring brake pedal.

Section Cost: $147.94

Suspension & Steering

The BMW was riding on what appeared to be the original 230,000-mile suspension. Much of an E30’s handling prowess derives from its suspension, so it isn’t hard to imagine how tired suspension components might bring down the overall driving experience.


Check out that ridiculous rear camber - a side effect of collapsed rear springs.
Check out that ridiculous rear camber – a side effect of collapsed rear springs.

Aside from refreshing the suspension, I wanted to raise the ride height. Lowering springs had been installed at some point making the car sit incredibly low to the ground rendering it impractical for use on potholed Midwestern roads.

Advertisement


The ride is too damn low!
The ride is too damn low!

To begin the suspension revitalization, I removed the front strut assemblies, lower control arms, sway bar end links, and tie rods.

Everything up front was due for replacement. The tie rods ends were loose, the steering rack bellows were ripped, the ball joint boots were torn, and the control arm bushings were dry rotted. The struts leaked, the rubber spring pads were cracked and the upper strut mount bearings were wobbly.

Installing new struts was the first order of business. I chose to fit Bilstein B8 struts up front because I wanted to give the suspension a more taut feel. To go along with the struts, I installed H&R OE Sport springs.

Advertisement

These springs are an inch lower than stock, but would still provide a considerable ride height increase over where the car sat with the old springs.

Lastly, I installed new control arms, tie rods, and sway bar end links to ensure the front end would work correctly for many miles to come.

It was much of the same story when moving on to the rear suspension. The shocks were shot and the old springs had an enormous amount of sag. The rubber spring pads had collapsed and the rubber subframe bushings were in poor condition. The trailing arm bushings had surprisingly been upgraded at some point with polyurethane units, making them the only parts that didn’t need attention.

Advertisement

In went the new H&R springs and Bilstein B8 shocks along with reinforced upper shock mounts. I discovered a method for replacing the rear subframe bushings without having to pull the subframe from the car, so in went new bushings there. To finish the rear end off, I put on some new sway bar end links.

With all the new parts installed, I took the car to a shop to have it aligned. And just like that, the true handling potential of the car was uncovered.

Section Cost: $1,528.59

Interior

Again, the interior of the car was an utter disaster. There were disgusting elastic polyester covers hiding ripped leather seats underneath. The steering wheel leather was also worn to shreds. The instrument cluster and onboard computer didn’t work. There were busted door handles, a window that wouldn’t roll down, a cracked dashboard (extremely common on E30s but no less ugly), a non-op blower motor, and radio antenna which wouldn’t retract. There were very few redeeming features on the inside of this thing.

The most critical item out of all these issues was non-functional gauge cluster. The only gauges that worked were the temperature and fuel gauges. That was it.

Advertisement

I pulled the gauge cluster from the car and sat it on the work bench. I tried everything within reason, including re-soldering all the circuit board connections to try and breathe new life into the unit. Ultimately, I was unsuccessful, so I just went out and bought a known-good instrument cluster from a parts car.

Even though the dial gauges in the “new” cluster operated perfectly, the odometer was still not working. To fix this issue, I installed new odometer gears while the cluster was out of the car. With that complete, I quickly installed the cluster in the car and was met with a welcomed result: All the gauges and lights worked as expected. Yay!

It just so happened that soon after installing the instrument cluster, I found a great deal on an uncracked dashboard. So, it was back out with the instrument cluster and then out with the old dashboard.

Pulling dashboards from a car is always fiddly and frustrating work. However, with the new dashboard installed, all the swearing and sweating was justified as its appearance breathed new life into the interior.

Advertisement

The on-board computer’s LCD screen had seen better days. It took me forever to locate a replacement screen but luckily they do exist. Part Works, a German company, makes a whole slew of replacement LCD screens for older BMWs. My car’s six-button one was included in their offerings. Swapping in the new screen was relatively easy. Saving this relic of technology gave me a great sense of accomplishment—I could now see the time and temperature!

Next up was enormous task of reupholstering the seats with new leather. Before taking this on, I wanted to replace the standard “comfort” style front seats with the larger-bolstered and more adjustable “sport” seats which were optional in E30s. I found a set locally that fit the bill nicely. However, these replacement seats also required reupholstering. Great!


The second-hand sport seats awaiting new leather.
The second-hand sport seats awaiting new leather.

I located a company that produces new leather seat covers for E30s at reasonable prices, so I ordered new covers for the sport seats and rear bench seat.

Advertisement

It took forever for the new covers to arrive (three months!) but I was pleased with the quality when they did show up. Reupholstering seats is a lot of work, I’m not going to sugar coat it. But, with enough patience, you can do it yourself with good results.


The vacuum sealed new leather seat covers.
The vacuum sealed new leather seat covers.

The foam under the old seats was thankfully in good shape, so all I had to do was pull the old covers off and stretch on the new ones. My fingers were definitely sore after working the new leather around the seat frames.

Once the new covers were on, I ironed the wrinkles out with a heat gun and a damp towel. I think they turned out pretty good!

Next up was to re-cover the nasty steering wheel. I had no experience recovering steering wheels, so I decided to just wing it and see how it turned out. I picked up some scrap leather, a sewing kit, and then went to town. I made a template for the new cover by laying the old cover flat and tracing it out. I then went through the tedious work of piercing all the stitching holes on the new leather cover. It was about this time when I wished I had access to a nice sewing machine. But alas, I did it all by hand.

Advertisement

I then stitched the two ends of the new cover together, then slipped it over the steering wheel. It was a tight fit, which was good. I applied some upholstery glue to the curves of the steering wheel spokes to help the new cover stay in place while I stitched the perimeter together. The result certainly isn’t perfect, but it’s far cry from the grungy old cover that was once there. To finish it off, I applied a new “M” badge to the center spoke.

There were a number of miscellaneous repairs still left to do to complete the interior refresh. The blower motor required replacement because one of the fan cages on the old motor had completely vanished. Also, a few of the interior door handles were broken, but those were fairly simple and inexpensive to swap out for new.

The left rear window wouldn’t roll down, which I eventually found to be caused by a broken regulator. The previous owner, instead of replacing the regulator, unplugged the window motor and modified the regulator to permanently affix the window in the up position. What a complete bodge. Anyway, I installed a functioning used regulator and resolved the problem.

Advertisement

The electric telescopic radio antenna was stuck in the up position. This was another bodged “fix” by the previous owner where they had modified the antenna motor to keep the antenna permanently in the up position. I was able to locate an original Hirschmann antenna gearbox and a new aftermarket antenna mast. I installed both these components which saw the car with a functioning power antenna once again.

Lastly, the parcel shelf where the rear speakers mount was looking worse for wear. I thought the speaker grills looked too aftermarket-y and out of place. After some searching, I located a parcel shelf that was fitted with the original “premium” style speaker boxes which offered a more finished look. Before putting the new parcel in the car, I installed some new speakers in it. With that piece complete, the interior was finished.

Section Cost: $1,840.08

Exterior

There were a number of issues to address with the car’s outer body, the first of which were the paint problems. To begin, all the rust repair areas needed to be spot painted in order to blend in with the rest of the body. I wasn’t aiming for perfection. Instead, I just wanted to eliminate the searingly obvious repair areas.


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Advertisement

I first applied body filler to bridge any transitions caused by welding in new metal. Once the body filler was sanded smooth and the transition was no longer obvious, I masked the areas off so they could first be painted with primer.

Once the primer layer was down, I moved the masking line back and hit the areas with the color coat.

With the color coat dried, I moved the masking line back once more to apply the clear coat layer. Not bad a result for a day’s worth of work!

Advertisement

The next paint area to be fixed was the right C-pillar, which had some clear coat failure going on. To begin this repair I sanded the area smooth so that the transition between good and bad paint was very gradual. Next, I masked the area off so that I could apply the primer coat. Like in the spot repairs above, I moved the masking line back for each subsequent coat of color and clear. To finish the repair, I polished the area so that the paint transition was no longer noticeable.

The final paint correction area to attack was the hood. This panel had been treated to a sub-par paint job at some point in the past. It had a ton of orange peel in the paint finish which gave it an almost matte appearance. I was able to remove the orange peel by wet sanding the paint with fine-grain sand paper, followed by a buffing wheel and polishing compound. The difference compared to before was considerable.

Next to address were the car’s fog lights, which had cracked glass lenses and were entirely inoperable. The previous owner put some type of adhesive plastic over the top of them and spray painted them black, because that’s the kind of human being they are. I instead decided to replace the broken fog lights with new ones. Not only do they now work, but they definitely enhance the front end’s appearance.

Advertisement

The lower plastic air damn on the car was scratched up and multiple mounting tabs were broken – it was barely hanging on. I decided to replace it with an “IS” style lower valance which would give the front a more aggressive look. I gave the new valance a quick gloss black paint job then offered it up with new mounting clips.

Finally, one of the glass high beam lenses had a sizable crack in it. While it looks like a run-of-the-mill sealed beam headlight, it’s actually an E30-specific part. Of course, this means it costs $100 to replace from BMW. Unfortunately I didn’t have much of a choice but to pay out for a new one. Once I had the new housing in hand, it was a straight-forward installation process.

Section Cost: $582.86

A “Completed” Project

Let’s be honest here: a project car is never truly finished. I know I’m not done finding issues with this car. That’s the nature of old vehicles.

So what am I left with after performing all the repairs mentioned above? I have a solid, fully functional, classic BMW 3 Series that looks nice and drives well. Let’s take a look at the figures for this project:

Advertisement

REPAIRS GRAND TOTAL (Parts, Supplies, Outside Labor): $7,180.07

  • The complete list parts can be found here.

PURCHASE PRICE: $1800.00

TOTAL ESTIMATED LABOR HOURS: 990

GRAND TOTAL: $8,980.07

This wasn’t a quick or inexpensive car to put right. I went into this ordeal fully committed to rescuing the car and dammit, I did it.


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

With everything refreshed, the old BMW is now just as usable as I’d hoped. I’ve since commuted to work in it, taken it on 200-plus mile jaunts, and driven it through gridlock traffic.


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Letting the smooth inline-six ring up through the gears is an absolute joy. The steering and brakes operate with an immediacy that only a lightweight vehicle could portray. Then there’s the look of the thing: the boxy shape, crisp lines, and the distinctive face. How can you not grow to love it?

Advertisement


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

It’s just as good at being a practical and fun runabout now as it was when it was new, and I guess that was my objective all along. Perhaps rescuing this tired, old BMW was worth the effort after all.


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Advertisement


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Advertisement


Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30

Illustration for article titled Here's Exactly What It Cost Me To Buy And Rebuild A BMW E30
Click to comment

Leave a Reply

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

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

Most Popular

To Top