View Single Post
      06-22-2020, 12:44 PM   #10
johnung
Major General
United_States
4512
Rep
5,377
Posts

Drives: 2015 BMW 335i x-Drive Auto
Join Date: Oct 2017
Location: New Jersey/Philadelphia

iTrader: (1)

Garage List
Quote:
Originally Posted by thejeremyman9 View Post
Motivation

Given that there are usually multiple posts/threads a day where people post logs asking for feedback, I figured it would be helpful if there was a sort of DIY/guide that lays out the fundamental approach (at least that I typically use) to “read” logs. I have not seen any such thread before, so hopefully everyone finds this thread useful and can use it to either get started on reading logs or further their understanding. I am going to start at the most basic level so some information here might be obvious to those who already know how to log and read them. I will also try to provide some information on what the different parameters actually represent, how they affect one another, and what typical values are.

I should note that I am not taking any information in this thread from a specific reference but rather it is a compilation of my own experiences and methods. I am happy to expand/edit this post based on the feedback or comments from other people. Also, if you are legitimately concerned about the safety or functionality of your tune, you should reach out to the tuner, be it BM3 or MHD support, or your custom tuner. The intent of this guide is to learn and hopefully provide readers with enough information that they can start looking at their own logs without being intimidated by the data or having no idea what to look for.

It’s going to take you some time and effort to really be able to understand everything in the datalogs, and the easiest way to learn is by doing, so don’t be intimidated to start digging into your own logs and those posted by others. Pretty soon you start to recognize patterns, similarities, and differences between different cars, tuning platforms, etc, and what ‘normal’ operating ranges are for certain parameters. If you make it to the end of this post you are probably relatively motivated to learn how to read logs

Why should I even care about reading logs?

This begs the question – why learn how to read logs in the first place? Well IMO, if you are going to change anything on your car, you really should understand how it works and what impact it could have, and be able to determine if it is working as it should. (Unless you have deep pockets and just want to pay everyone to do everything for you, in which case why not just get a car that is fast enough from the factory so you don’t need to mod?) Not only that, but understanding how to read logs can really help you identify and diagnose problems, including catching things early before they escalate into more serious issues, or figuring out why your car isn’t performing as it should, etc. There really is no downside, except for the time you need to invest to learn. Having said that, this information is not really platform specific, so if you are truly interested in modifying cars, what you learn now will only continue to benefit you in the future. I think most people want to read datalogs for two main reasons: (1) make sure the car is performing as it should and figure out why if it is not (2) make sure the tune/hardware setup is safe. Hopefully this post will help inform both of those.

Enough background and on to the datalogging and log reading…

First, how to collect a log. A ‘proper’ log should be from about 2500 to 6500 rpm. Log in 3rd gear if you are 6MT or 4th gear if you are 8AT. (Some tuners might recommend a different gear, but these are generally the best to get a long pull and see how things are behaving.) Get into the proper gear, get up to 2000-2500 rpm, click start log, floor it (100% throttle, kickdown is not required to be depressed) all the way to about 6500, let off and then click stop log. Try not to capture extra data before or after the pull to the extent possible or else you just need to trim it to read it more easily. Obviously, collect the log safely. If you are doing logging of before/after different hardware or software changes, it helps to do them under similar conditions – this includes similar ambient temperatures, the same/similar road (not uphill one time and downhill the next for example), and so on. You just want to control as many variables as possible. Do not log on roads with bumps, etc. Ideally, find a good road nearby that can be your “logging road”. (Especially true if you want to use virtual dyno).

It helps to collect 2 or maybe 3 of these logs, just in case one is a fluke. Additionally, it’s worth getting a log from a dig, from 1st to top of 4th gear (top of 3rd if 6MT). In this case it’s particularly important you use DSC fully off or else you will likely get throttle closure from traction control if you spin (mostly for RWD). Generally speaking though, you can log in sport+ and M (shifter to the left) to collect the 4th gear logs. Note, if you are going to be doing several logs, it helps to drive gently for a minute to two between logs to let everything cool back down, or you might start building up IATs and getting heat soak in subsequent runs (which I suppose is fine if you are trying to test your susceptibility to heat soak).

Put simply, the 1-4 logs allow you to see more of the transient response of the car (how it builds boost, how it holds boost on shifts, how it responds to different load in different gears, etc) while the 4th gear logs show more of the steady state operation during a long pull.

Before logging, make sure you go into options and enable all parameters that you want to look at in the log. In MHD not all are enabled by default. You don’t need EVERYTHING – some stuff like EGT and Vanos you probably won’t use – but you definitely need all the parameters discussed below.

If you want to see how virtual dyno can be used as a tool with datalogs, see my thread here: https://f30.bimmerpost.com/forums/sh....php?t=1710794

Once you have the log, upload to BM3 or datazap. Datazap is a little easier to use IMO, but BM3 works too. It also helps, especially if you are trying to diagnose a problem, to make some notes about what happened during the log – misfires? Did you spin? Did you hit a bump? Are you at high elevation? Was it really hot or cold? Etc. All the context helps interpret the log in case there are external factors at play.

Also, if you post a log and want someone to help you read it, be sure to provide at a minimum:
  • Car year/make/model/transmission
  • EWG or PWG
  • FULL mod list (anything you have changed from factory)
  • Tune you are running – version, octane, and stage
  • Miles on the car, miles on the spark plugs, spark plug brand and gap
  • Anything you noticed while taking the log
  • If trying to diagnose a problem, anything you changed before the log/before the symptoms started

Now that you have a datalog, let’s get into the gory details of how to “read” it…

When you first open the datalog, start by looking at one parameter (or group of parameters like those related to boost) at a time. After you are comfortable with that, you can start looking at multiple things together that are related and can potential impacts each other, such as the relationship between boost, IATs, and HPFP dips, or lambda and STFTs, and so on. By looking at one thing at a time I mean turn off all lines except those you are looking at + RPM (RPM is almost always on). Use trim log or the sliders on BM3 so that you are focused only on the pull (a little before starting WOT and a little after ending WOT) if there is extra data. Once you get really comfortable, you can leave everything on and scroll through the log just looking at the numbers, but you need to know what you are looking for if you use this method.

Now on to the list of key things to check….

1. Check boost vs. boost target

At a basic level, you just want to check if you are reaching boost targets. This means you need to look at manifold boost and compare that to the boost target. In BM3 manifold boost is the MAP, in MHD is boost mani. You need to look at manifold boost and not pre-throttle boost because pre-throttle boost will be higher if your throttle is not open 100% (that’s basically the boost in the charge pipe, not what the engine is experiencing).

As a general rule of thumb, +/- 1 or maybe 2 psi of deviation is normal, depending on PWG or EWG and depending on how aggressive your target is. For an OTS map you should be pretty close to target (within that range) but some custom tunes have really high targets that might not be achievable with stock turbo. But the general idea is just to make sure you can get near to at boost target while also not having excessively high WGDC. You are essentially making sure you don’t have boost leaks, which can make you be below target and at the same time have high WGDC. Note, for PWG, it is totally normal to see a few psi deviation in the upper RPM range – the turbo is just running out of steam.

The above is all about being under target. Its also bad to be too much over target. Having said that, BM3 and some custom tuners choose to allow overboost, where you will be a couple psi over target briefly when boost first hits. I suspect this is because this “feels” fast as you get a huge torque shove. With this in mind, you should also realize that the tune is allowing overboost without throttle closure. MHD on the other hand will begin to close the throttle as soon as any overboost occurs – this is the same behavior as the stock tune. Not saying one or the other is bad, but something to be aware of. You really only need to be concerned about overboost if you are way above target (several psi), it happens consistently, and there is no protective action taken (i.e., no throttle closure).

Here is an example of a 1-4 log with pretty good boost control, but kindof poor timing: https://datazap.me/u/thejeremyman9/1...;data=4-5-7-21

4th gear log with good boost control: https://datazap.me/u/thejeremyman9/t...;data=4-5-7-21

Potential causes of boost deviation

The most obvious cause of being below target is a boost leak – could be at any of the following connections: turbo-TIC, TIC-IC, IC-CP, CP-TB. It could also be from meth bungs on the CP not plugged, the sensor on the CP, manifold gaskets, etc; basically anything from the outlet of the turbo to the engine. But if you installed TIC/CP/IC, that is the first place to start looking. A pressure test or smoke test is in order if you can find suspected leaks. You could also have a leaking/failing DV that is bleeding boost.

[COLOR="Blue"][Update 6/22/20] Another thing I forgot to mention (thanks obeeone ) is altitude. Even the EWG turbo has trouble maintaining stage 2/2+ boost targets at high altitude. I discuss density altitude a bit below in #3, but basically, higher altitude = thinner air = more difficult to make boost. Most people know that naturally aspirated cars will lose power as you go up in altitude (rule of thumb is 3% for every 1000 feet above sea level). Turbo cars can make up for this to an extent, but if you are running a tune that is already pushing the turbo at sea level, it’s possible the turbo won’t be able to make up for the loss of air density as you get to higher altitude. The way to get an idea of your altitude in your logs is by looking at ambient pressure. At sea level, ambient pressure will be 14.7 psi. You can compare your ambient pressure to that of sea level to get an idea how much altitude might be a factor for you. If you are several thousand feet above seal level, boost deviation in the upper RPM by a few psi is likely unavoidable with stock turbo, and is therefore not necessarily indicative of a leak, especially if you are able to reach boost targets earlier on in the RPM range. obeeone notes that a deviation of up to 4psi will be seen with ambient pressure at 13.0 or less. Here is one of his logs that was reviewed by MHD, who agreed on the impact of altitude: https://datazap.me/u/obeeone420/dp-c...10-14-15-23-37[/COLOR]

Overboosting is far less common (aside from the intentional overboost I mentioned), and might be harder to diagnose, but could be a tune issue, a WG issue, etc.

If you think you have a boost leak, read:

This thread for pressure testing: https://f30.bimmerpost.com/forums/sh....php?t=1621695

This thread for Oring seals: https://f30.bimmerpost.com/forums/sh....php?t=1659611

1b. Check load versus load target (only applies to load-based tunes, i.e., stock, MHD)

You can only do this check if you are running a load-based tune. The idea here is the same as checking boost versus boost target, and generally speaking, the boost curves should have the same shape and behavior as the boost curves (although there are other factors at play). Being within about 5-10% of load target is ideal. More is not necessarily an issue unless you are massively below target and have boost or other issues at the same time. If you exceed load target, you likely exceeded boost target, and will probably have throttle closures. In a simple way load is essentially what is sounds like, the load on the engine, so the load target is a way to more or less target a specific power level. This is why a load-based tune will adjust boost and other parameters to meet load target. For example I have seen MHD target high 15psi to low 18psi range at the same load request on the same tune depending on the conditions.

2. Check timing, specifically timing corrections (timing being pulled)

In an ideal world, we would all have perfect timing every pull – all cylinders would be even and we wouldn’t have any timing being pulled from different cylinders. But that is rarely the case. What you want to check for here is (1) if you timing is even across cylinders and (2) if timing is being pulled or not. A few random corrections here and there is probably not a big deal, but if you have several degrees of timing being pulled on more than 1 cylinder consistently in your logs, your fuel quality is probably lacking, and you will either need to get higher octane gas or switch to a lower octane map.

Generally speaking, higher octane maps are going to target higher timing, so a 93 map will have higher timing than a 91 map, and so on. Ethanol/E85 maps will have the highest timing targets (except maybe race gas map). Also, the DME typically targets more timing when there is less boost. Again the importance is not so much the actual numbers themselves, more so the corrections. If you have continuously increasing timing with RPM and no corrections, you have nothing to worry about. Some timing corrections are normal to an extent as it is just the DMEs way to prevent knock, so don’t be disappointed if you don’t have perfect timing.

Note, in MHD logs you can directly read timing corrections as a parameters. In BM3 you need to look at timing itself to see if there are corrections. Look at all 6 cylinders at once.

For reference, here are two logs – one with good timing (no corrections) and one with horrible timing (lots of corrections). If you look in the virtual dyno thread I linked, you can see just how much this affects power.

FBO, MHD stage 2+ 91 map, bad timing: https://datazap.me/u/thejeremyman9/4...43-44-45-46-47

FBO, MHD stage 2+ 91 map, good timing: https://datazap.me/u/thejeremyman9/4...43-44-45-46-47
(If you look at the spike at 6300 rpm this log also shows what hitting a bump looks like)

Potential causes of timing issues

If you notice that the same cylinder always has timing being pulled in your logs, that points to a specific issue with that cylinder – coil, plug, or maybe even something like injector. If you have a bunch of random timing corrections on different cylinders, its most likely a fuel/octane issue. In that case, get higher octane fuel, and/or switch to a lower octane map. IATs are another factor, since the DME will naturally pull timing when IATs increase. There is no bright line threshold, but if you are over say, 120F, you are likely to see some timing being pulled.

You can also experiment with different plugs and gaps to see how it affects timing – some people have good luck with OEM Bosch at OEM gap (0.030 to 0.032, I run these) while other people swear by NGKs gapped down to 0.022. This is not the place for a spark plug discussion, so read more:

Here: https://f30.bimmerpost.com/forums/sh...734&page=4

Or here: https://f30.bimmerpost.com/forums/sh....php?t=1709198

Another thing you can look for in BM3 logs is knock – you don’t want any knock during WOT. If you get knock, you will likely see a bunch of timing being pulled. Knock under high boost/load is bad, and is usually an octane issue.

3. Check HPFP vs target

This one is pretty simple and really only becomes a concern if you are running a tune that is pushing your fueling to the limit. This typically only occurs on the E20/E30 maps with stock HPFP, or maybe a custom tune. Basically, just look at actual HPFP pressure compared with the target. Small deviations are totally normal, you are looking for dips where actual pressure falls hundreds or 1000+ psi below target – this is a HPFP “crash”. The HPFP is mechanically driven off a cam lobe and can only supply a certain amount of fuel. When you are flowing more air than it can supply, pressure to the fuel rail drops and you will not be able to keep up with fuel demand. This is bad because it can lead to a lean condition, which is dangerous under high boost. Bottom line, you don’t want to drive on a tune that is causing huge dips in HPFP pressure.

Potential causes of HPFP crashes

Since it’s a mechanical pump, it’s unlikely the HPFP is failing or wearing out. More likely than not, you are either running more boost than the HPFP can keep up with, and/or you have too much ethanol in your fuel. Ethanol has a lower energy density. Thus, as you increase ethanol content you demand more fuel for a given amount of air. Note, you could technically have a supply-side issue – if the LPFP is unable to supply enough fuel to the HPFP then you could see a HPFP crash even if the HPFP and tune are fine. Having said that the LPFP is plenty for say, 500hp or so, so the HPFP will reach its fuel limit long before the LPFP assuming the LPFP is working properly. The BM3 ethanol mix maps are known to push the HPFP to around its limit, especially in colder temperatures, so you really need to log and make sure you don’t have too much ethanol and are not getting crashes. That, or just upgrade your HPFP.

Another thing to note is that the ambient temperature (basically, IATs) can have an impact on whether or not your HPFP will crash. Basically, colder air = denser air, which demands more fuel. So you might not have HPFP crashes when your IATs are high, say 100F, but you might get a crash with the same fuel, same tune, same setup, etc, if IATs drop to say, 40-50F. This is particularly true on a boost-based tune like BM3, which will not lower the boost target when it is colder, you are at a lower density altitude (DA), etc. So in other words, 18psi at 40F will demand more fuel than 18psi at 100F. With a load-based tune like stock or MHD, boost targets will vary depending on atmospheric conditions so you should see your boost target be a little lower in colder temperatures and lower DA, since you don’t need as much boost to reach your load target.

4. Check IATs

Here, you are really just using IATs to interpret other things like timing and maybe HPFP as described above, and making sure they are reasonable. By reasonable, if your IC is appropriate for your boost and power levels, your IATs should be within about 15-20F of ambient temps, and realistically you don’t want to run with IATs over about 120-130F (at least not consistently at WOT). If IATs are high, your options are basically a bigger IC, or meth injection. Not much else you can do besides drive in cooler weather, lol.

5. Check throttle angle vs target and accelerator pedal position

Basically, when you push the pedal to 100% you expect the throttle to target 100% and in turn you expect it to actually open 100% (these are all different parameters in the log). If you are WOT (100%) and the throttle is not open 100%, you should figure out why. Typically throttle closures are protective such that the DME will close the throttle when it sees overboost or another potential issue. The throttle will also close if you have traction control kick in, it can close between shifts on 8AT, etc. Its not that throttle closure is bad persay, you just want to make sure if you see closures that they are happening for a (good) reason. Some tunes also seem to slowly feed in the throttle rather than just opening to 100% instantly, but that varies. Finally, I would note that throttle mapping is usually not 1:1, especially in sport+ mode. So for example, 50% pedal input might command 100% open throttle in sport + mode. (See this post for example throttle mapping tables: https://f30.bimmerpost.com/forums/sh...postcount=3861). Also, as a side note, you can press the pedal to 100% without pushing the kickdown, and if you have something like XHP you can set custom shift points with or without the kickdown depressed.

In addition to checking for why throttle closures occur, you should check to see if you are not getting throttle closures when you should be. As I mentioned above MHD and stock tune will close the throttle as soon as they see overboost. On the other hand, BM3 seems to intentionally overboost and allows much more deviation above target before it starts to close the throttle. The idea is just to make sure the tune has protective measures in place so it can intervene if needed.

This log shows an example of a small throttle closure in response to slight overboost – notice how the throttle is closed only a little since there is only a slight overboost, and opened back up right away once boost is under control (typically by lowering WGDC). This was imperceptible in the car and happened seamlessly; I didn’t even notice until looking at the log. (Turn on RPM, boost, boost mani, boost target, and throttle position to see what I mean.)
https://datazap.me/u/thejeremyman9/t...ta=4-5-7-21-25

6. Check WGDC

For WGDC, you just don’t want to be running near or at 100% all the time, because that essentially means you are maxing out the turbo. Not ideal for longevity. BM3 tunes and custom tunes seem to push this into the mid 90s, however, so that might be normal and not necessarily indicative of an issue. I believe my MHD stage 2+ logs show high 80s and maybe low 90s on occasion (with fabspeed catted DP), which I think is a good place to be for a stage 2/2+ tune. Note, your DP will have a big effect on WGDC. The more free flowing your DP and exhaust, the lower your WGDC should be. Intake restrictions can also play a role – basically air in and air out of the engine. Minimizing restrictions on the intake and exhaust side should lower WGDC for a given amount of boost.
The main reason you would start to look closely at WGDC is if you are not reaching boost targets and suspect a boost leak. If you have a boost leak, WGDC will be higher than it should be because the turbo is having to work harder to make the target boost. So, WGDC is something you typically look at in the context of #1 above.

The values/range I gave above are for EWG, and PWG WGDC will be totally different.

7. Check STFTs

STFTs are basically the DME using the primary O2 sensor to make corrections to fueling so that AFR (lambda) stays on target. At a basic and somewhat oversimplified level, the DME uses the MAF and MAP sensors (along with ambient temperature, pressure, throttle angle, etc) to estimate how much air is going into the engine and how much fuel it needs to inject to reach target AFR. Then, it uses the O2 sensor to see what the actual AFR is, and uses STFT to add or subtract fuel to reach the target AFR. This is happening continuously.

In BM3 STFTs are as a whole number, so 1 is no corrections, >1 is adding fuel, and <1 is pulling fuel, where 1.10 is 10% fuel added and .90 is 10% fuel pulled, etc. In MHD it is the actual %, so 9% is 9% fuel added and -7 is 7% fuel pulled.

Some amount of fuel correction is totally normal. As a general rule of thumb, if you are consistently seeing 10% or more in either direction you might want to see if there are any issues. For example a vacuum leak could lead to positive STFT since you have air coming in that the DME has not accounted for (didn’t hit the MAF), whereas a boost leak could lead to negative STFTs since you leaked out air that has already been read by the MAF. You are just looking for huge corrections that could point to a potential issue. Boost and/or vacuum leaks are the main thing to check for. You could also see huge positive STFTs if you have a HPFP crash or other fuel supply issue.

8. Check lambda versus target

Checking lambda versus target is less important in the sense that deviation is very uncommon, but if you are deviating significantly, that points to a potentially major issue such as HPFP crash or another reason you can’t supply enough fuel, or a reason you are supply too much fuel like a malfunctioning injector. It’s worth giving lambda versus target a quick scan through, but again, deviation from target is uncommon.

These cars actually seem to run surprisingly lean compared to say, a 90s era turbo car you are tuning with a standalone ECU. I suspect the direction injection and overall more precise control is a factor. For MHD, it looks like target AFRs are around 13.5-12.2 during a 4th gear pull (decreasing with increasing RPM), while the E20 map runs a little leaner as expected (you can get away with this with ethanol) and is in the 14.0-12.5 range. Generally speaking running a little richer is safer, but running lean can lead to potentially dangerous situations (detonation, knock, etc).

9. Check torque limits

If you are 8AT, this mosly applies to 3rd and 6th gear. Basically, there are torque limits on these two gears in particular that you will almost certainly hit if you are on a stage 2/2+ tune with FBO. You can see in the logs by looking at these parameters if you are hitting them or not, and if you are, the DME will limit power.

There are several options to get around the torque limits. I would say the preferred option is XHP as it is generally regarded as the best transmission flash, and ‘properly’ addresses torque limits on the transmission side. BM3 also offers a transmission flash that should remove the limits. MHD offers a flash-time option for 3rd/6th gear fix, but it seems like this is potentially not the best option, because my understanding is that it ‘tricks’ the transmission into thinking torque is lower than it actually is, and no changes are actually made on the transmission side of things. There’s no hard data to say whether or not this can cause issues like microslip, so I will leave it at that.

Note if you flash XHP, you will need to reflash MHD and check the box for having XHP so that the torque limits are removed.

10. Look for any unusual behavior in any logged parameter – are values lower or higher than expected? Are curves are erratic and not smooth?

During a 4th gear pull, most parameters should follow a nice smooth curve. For example one thing to look at here that was not discussed above is MAF. BM3 will be in lb/min and MHD in g/s, but you can easily convert between the two (just google it). It seems like good flowing FBO stage 2/2+ tunes will reach a MAF peak of about 45 lb/min. Generally speaking your MAF should be a nice, smooth, continuously increasing curve. See some of the MHD logs I linked above for examples. If your MAF reading is erratic, it’s most likely because you are running an aftermarket intake. It isn’t necessarily a huge deal, but it just means the DME is not getting totally accurate data, so you might have more STFT corrections for example. Erratic MAF readings could also be from an intake/boost leak, possible having the AFE air scoop (TBD), the shape of your air filter, and probably most likely is the shape of your intake where the MAF is located. Most aftermarket intakes have the MAF mounted in a circular tube whereas the stock in a more square-ish tube, and MAF doesn’t hit as much of the airflow in the larger aftermarket intakes where it may only reach half way across the diameter.

These logs demonstrate what I mean for the MAF. The first log is with the stock intake, and the 2nd log is with the dinan intake. The 2nd log not only has more erratic MAF readings, but the MAF readings are much lower at the same boost/rpm, even though virtual dyno seems to show the dinan might actually be making more power in the upper RPMs (which would of course mean it was flowing more air). Nothing else was changed between these logs except the intake swap. The car also reportedly drove worse with the dinan in terms of responsiveness and driveability, and had poor idle especially on the first start. FWIW the CTS turbo intake specifically mimics the stock MAF housing shape, which makes complete sense for everything I have seen in terms of how the intake shape/size at the MAF location has a big impact on the sensor readings (and they explain this on their website).

Stock intake: https://www.bootmod3.net/log?id=5ed0...0b434621ac4c6e

Dinan: https://www.bootmod3.net/log?id=5ed1...90c65530e92597

The above is just for MAF, but in general at this point in looking at the logs you have probably already looked at most things you are interested in, so you can just take a quick look through anything else and do a sanity check to make sure the values make sense – temperatures where they should be, ambient temperature and pressure make sense, etc.

The final specific check I would mention here is mostly for 6MT, and that is for clutch slip. Basically, just look at vehicle speed and RPM. In a given gear there should be a specific relationship/ratio between the two. If you see RPM spike without a corresponding increase in vehicle speed, that is most likely clutch slip (if both spike, you are probably spinning). It might be relatively small if it is only a little slip (i.e., RPM increasing by a few hundred not a few thousand – the latter would be really bad slip). The slip is most likely to occur in a higher gear, higher load, low RPM situation – so for example right when peak boost hits at WOT at 2500rpm in 3rd or 4th gear. It can be a little tricky to spot if it is minor, but you should know when driving if you feel it.

That’s it! Well not really, because this post could go on forever, but if you made it this far, hopefully you learned a thing or two. If you have any thoughts or corrections to anything I have posted above, just let me know.

[COLOR="Blue"][Updated 6/22/2020] - Added blue text above about altitude impacts on boost deviation and fixed Oring seals link.[/COLOR]
Thanks for taking the time to do this. Looking forward to cracking open a cold one and giving it an attentive read!
Appreciate 0