Welcome to the North American Subaru Impreza Owners Club Friday March 27, 2015
Home Forums WikiNASIOC Products Store Modifications Upgrade Garage
NASIOC
Here you can view your subscribed threads, work with private messages and edit your profile and preferences Home Registration is free! Visit the NASIOC Store NASIOC Rules Search Find other members Frequently Asked Questions Calendar Archive NASIOC Upgrade Garage Logout
Go Back   NASIOC > NASIOC Technical > Engine Management & Tuning

Welcome to NASIOC - The world's largest online community for Subaru enthusiasts!
Welcome to the NASIOC.com Subaru forum.

You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, free of charge, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, so please join our community today!

If you have any problems with the registration process or your account login, please contact us.
* Registered users of the site do not see these ads.
Reply
 
Thread Tools Display Modes
Old 01-16-2003, 10:23 PM   #26
AZScoobie
Scooby Guru
 
Member#: 8785
Join Date: Jul 2001
Chapter/Region: SWIC
Vehicle:
02 c_turner@ix.
netcom.com

Default Re: Re: Re: Re-Mapped ECU Learning Trick 10-20hp in 5 seconds :)

Quote:
Originally posted by Vishnu Performance


That problem really won't be an issue with such little boost pressure. If you were to go WOT and sustain 1.2 bar of boost for several seconds, that would be another story.

Regards,
shiv
Try it.... Sustain atmosphere on your boost gauge and touch the brakes... It does not even take positive pressure.. In short order the brake pedal will go rock hard and power assist will be lost. There is a check valve to prevent positive manifold pressure to enter the brake booster. All you need to do is come out of vac and you will loose the booster.


CT
* Registered users of the site do not see these ads.
AZScoobie is offline   Reply With Quote
Old 01-16-2003, 11:52 PM   #27
ShotgunTC88
Scooby Newbie
 
Member#: 30970
Join Date: Dec 2002
Default

Tknodav,

Thanks, Hell....For a minute there I thought when I flash the thing I would have to buy a fourpoint!!........Hee,Hee

SHotgun
ShotgunTC88 is offline   Reply With Quote
Old 01-17-2003, 12:51 AM   #28
jcme262
Scooby Specialist
 
Member#: 13694
Join Date: Dec 2001
Chapter/Region: NWIC
Default

well did you all get your quik road tuning done ?
*try a steady steep hill hardly any brake modulation needed & speeds were reasonable
JC
jcme262 is offline   Reply With Quote
Old 01-17-2003, 12:53 AM   #29
newbie sewbie
*** Banned ***
 
Member#: 10615
Join Date: Sep 2001
Location: sunny so cal
Default

ok, so shiv, is this really to gain additional power or is this just a short cut for people whom have reset their ecu? would reseting the ecu, then driving it like you stole it for a few tanks allow the ecu to learn and eventaully get the same results?

just trying to figure out what the differences were, if any

btw.....what should we name this? i nominate:

vishnu reset

one more thing, i'll be trying this tomorrow morning, has anyone done it? if so, let's hear some review
newbie sewbie is offline   Reply With Quote
Old 01-17-2003, 01:17 AM   #30
jcme262
Scooby Specialist
 
Member#: 13694
Join Date: Dec 2001
Chapter/Region: NWIC
Default

Quote:
Originally posted by newbie sewbie
one more thing, i'll be trying this tomorrow morning, has anyone done it? if so, let's hear some review
yes, funny thing is as soon as I finished holding for at least 5 sec. (kinda tough) I absolutly mashed the pedal and it was like .....Holy f*** im not kiddin
jcme262 is offline   Reply With Quote
Old 01-17-2003, 01:30 AM   #31
Vishnu Performance
Vendor
 
Member#: 14494
Join Date: Jan 2002
Location: SF Bay Area, California
Vehicle:
WRX Porsche 996
blue & black

Talking Vishnu Reset?

Quote:
Originally posted by newbie sewbie
ok, so shiv, is this really to gain additional power or is this just a short cut for people whom have reset their ecu? would reseting the ecu, then driving it like you stole it for a few tanks allow the ecu to learn and eventaully get the same results?

just trying to figure out what the differences were, if any

btw.....what should we name this? i nominate:

vishnu reset

one more thing, i'll be trying this tomorrow morning, has anyone done it? if so, let's hear some review
Vishnu Reset? Me likes the sound of that

To answer your question, driving around hard for some time *should* eventually yield the same results. It will happen gradually and the final result will be totally dependent upon the quality of the ECU maps. Too aggressive in fuel, timing or boost maps and you will never see the max Advance Multiplier.

FWIW, we do all our ECU mapping with the Advance Multiplier maxed out. This way, the ECU is already at its most aggressive state with little chance for it over-advance itself dangerously as the miles roll by. The Vishnu Reset ( again) simply accelerates this learning behavior. A real nice thing for those who just popped in a newly reflashed ECU or want to get max performance just before an autocross run, drag strip pass, etc,.

The same things applies to the stock ECU. In stock cars, we've seen ECU resets result in up to 10hp losses which slowly add back in which each successive dyno pull. Again, this special reset just speeds along the process.

Hey, doesn't anyone want to know why this works? I don't think anyone has asked that yet... any guesses?

Happy Driving To All,

Shiv
www.vishnutuning.com

Last edited by Vishnu Performance; 01-17-2003 at 02:57 AM.
Vishnu Performance is offline   Reply With Quote
Old 01-17-2003, 01:39 AM   #32
sevenhead
Scooby Newbie
 
Member#: 15073
Join Date: Feb 2002
Location: Canyon Country
Vehicle:
2002 WRX Sedan
Lotus Seven, A-H 3000

Default

does it have anything to do with the transition between open and closed loop?

Lee

ps: my car is stonking now
sevenhead is offline   Reply With Quote
Old 01-17-2003, 03:56 AM   #33
FRWRX
Scooby Newbie
 
Member#: 15306
Join Date: Feb 2002
Location: FRANCE
Vehicle:
2011 STi
White pearl

Default

Thanks Shiv,

When you say : "If there are trouble-spots where knock is present, this trick will make it even more present. So be careful!"

Won't the ECU retard back again down by 4 in such case ? Or will the ECU keep this maximum advanced timing even if knock is encountered ?
FRWRX is offline   Reply With Quote
Old 01-17-2003, 05:41 AM   #34
mlambert
Scooby Guru
 
Member#: 13831
Join Date: Jan 2002
Location: 99 problems but a bitch aint 1
Default

Quote:
Originally posted by FRWRX
Thanks Shiv,

When you say : "If there are trouble-spots where knock is present, this trick will make it even more present. So be careful!"

Won't the ECU retard back again down by 4 in such case ? Or will the ECU keep this maximum advanced timing even if knock is encountered ?
It wont stop doing its job
mlambert is offline   Reply With Quote
Old 01-17-2003, 07:26 AM   #35
hotrod
Scooby Specialist
 
Member#: 14141
Join Date: Jan 2002
Location: 13.239@102.85 @ 5800 ft on 13T
Vehicle:
2002 Impreza WRX

Default Okay I'll bite

Shiv:

Okay I'll hazard a guess. You said not to go on boost before you try this, and I've seen various posts that say the ecu will gradually add timing until it detects knock. If this is a running average of knock correcton, and if the ECU code feels safe giving absolute max possible advance at this low rpm, and boost level, then ....

The fastest way to build that running average is to go to the point on the rpm / boost scale the ECU is most willing to give max advance, and hold there long enough to max out the average.


Am I close ??

Larry
hotrod is offline   Reply With Quote
Old 01-17-2003, 12:08 PM   #36
Jon [in CT]
*** Banned ***
 
Member#: 2992
Join Date: Nov 2000
Chapter/Region: NESIC
Location: Connecticut, USA
Vehicle:
02 WRX Sedan
Silver

Default Re: Vishnu Reset?

Quote:
Originally posted by Vishnu Performance
Hey, doesn't anyone want to know why this works? I don't think anyone has asked that yet... any guesses?
The ECU will go into a learning mode when the following conditions are met:
  • Engine RPM is less than or equal to 5000 RPM
  • Manifold Absolute Pressure is greater than or equal to 900 mmHg (17.4 PSI)
  • Engine Coolant Temperature is greater than 70C (158F)
During this learning mode, the ECU is bascially judging your octane level and trying to figure out how far it can advance ignition timing toward maximum brake torque timing without sufferring too much knock.
Jon [in CT] is offline   Reply With Quote
Old 01-17-2003, 01:00 PM   #37
Austin
Scooby Guru
 
Member#: 7089
Join Date: May 2001
Chapter/Region: NWIC
Location: Western Wa
Default Re: Re: Vishnu Reset?

Quote:
Originally posted by Jon [in CT]
The ECU will go into a learning mode when the following conditions are met:
  • Manifold Absolute Pressure is greater than or equal to 900 mmHg (17.4 PSI)
To clarify Jon's statement (I'd hate for someone to get confused...) the pressure needed is 17.4PSIA, or pounds per square inch absolute.

That'd be around 2.7psig, or pounds per square inch gauge, on a boost gauge/meter.
Austin is offline   Reply With Quote
Old 01-17-2003, 01:01 PM   #38
drees
Scooby Specialist
 
Member#: 25905
Join Date: Oct 2002
Chapter/Region: SCIC
Location: San Diego, CA
Vehicle:
2003 Silver Wagon
Tuned with Enginuity

Default

Jon, sounds like you've mostly got it, but I've got a few more comments:

It has something to do with experiencing a part-throttle application (low-boost).

It also has something to do with keeping the RPMs constant.

What I don't quite understand is why this ends up boosting the timing up across the entire rev range, I thought that different RPM ranges were adjusted independantly. (The cause of uneven power delivery under some conditions even on a stock WRX?)

Apparently I was mistaken and there is one general timing advance. When knock is detected, it drops timing across the board.

This would mean that if you tuned the ECU to run too lean at one particular RPM and the engine knocked, the ECU would drop timing across the board even if the timing you're running is safe at other RPM points.

Feel free to correct me if I'm wrong.
drees is offline   Reply With Quote
Old 01-17-2003, 03:56 PM   #39
hotrod
Scooby Specialist
 
Member#: 14141
Join Date: Jan 2002
Location: 13.239@102.85 @ 5800 ft on 13T
Vehicle:
2002 Impreza WRX

Default minor details

Jon:

Quote:
During this learning mode, the ECU is bascially judging your octane level and trying to figure out how far it can advance ignition timing toward maximum brake torque timing without sufferring too much knock.
The question is does the ECU seek max brake torque by attempting to reach some specific advance setting (ie a fixed target timing), or does it settle at a standard offset from the knock limit it discovers. Do you have any idea which mode it uses to set the max timing?

To clarify, the two possibilities. It could have some ideal timing setting (say 24 degrees BTDC) in its code that it trys to get to if the octane will allow it, or it could always add advance until it determines the current knock limit, and then off sets to a point (say 3 degrees < knock limit timing).

Larry
hotrod is offline   Reply With Quote
Old 01-17-2003, 05:36 PM   #40
Jon [in CT]
*** Banned ***
 
Member#: 2992
Join Date: Nov 2000
Chapter/Region: NESIC
Location: Connecticut, USA
Vehicle:
02 WRX Sedan
Silver

Default

Let me elaborate on my previous post.

Let's assume there are two ignition advance tables which can only be changed by a reflash. Each of these tables is two-dimensional with an idential number of rows and columns, indexed by engine RPM and MAP. Each entry in the first table, which we'll call IGL, represents best ignition advance without knock for low octane gasoline. Each entry in the second table, which we'll call IGH, represents best ignition advance without knock for high octane gasoline. The ECU will never advance the ignition beyond IGH table values and never retard the advance below the IGL table values.

Now let's takes Shiv's Ignition Advance Multiplier (IAM), which he says ranges in value from 1 to 16, and form another scalar, called e, which ranges in value from 0 to 1:
e = (IAM - 1) / 15

e is used to form a "rough correction quantity," which we'll call AT, in the following way:
AT = IGL + e * (IGH - IGL)
In other words, AT is an interpolation between the low octane timing advance and the high octane timing advance. When e is zero (i.e. when IAM is one), the low octane timing is used and when e is one (i.e. when IAM is 16), then the high octane timing is used. Otherwise, a timing somewhere between the low and high octane timing is used.

There is also a table of learned "fine correction quantities," which we'll call AP, with the same dimensions as IGL and IGH, above.

Final learned ignition advance (IGTL) is:
IGTL = AT + AP

Assuming that IGTL is greater than IGL and less than IGH, it becomes the actual ignition advance.


The timing learning mode conditions (see my previous post) were selected to insure reliable knock detection - RPMs greater than 5000 means more engine noise and low engine load means low knock sensor output.

When timing learning mode is active, the ECU has a timer going. Every second or so the timer pops and the ECU checks to see whether there has been any knock during the interval, If not and if the IAM is not yet set to its maximum value, then it's incremented by 1. However, if, during the previous period, the number of knock events exceeds a threshold, then the IAM is decremented by a number, let's say 2. If the knock count is greater than zero but less than the threshold, then IAM remains unchanged. Whenever the IAM is changed, the fine correction table, AP, is zeroed out. If a knock event doesn't cause a change in IAM, then the appropriate fine correction table entry is adjusted.

P.S. So, If what I've written here is correct, it should take a full 8 seconds (not 5 seconds) for the Ignition Advance Multiplier (IAM) to change from its initial value of 8 to its max value of 16, assuming no knock.

Last edited by Jon [in CT]; 01-17-2003 at 05:51 PM.
Jon [in CT] is offline   Reply With Quote
Old 01-17-2003, 05:56 PM   #41
hotrod
Scooby Specialist
 
Member#: 14141
Join Date: Jan 2002
Location: 13.239@102.85 @ 5800 ft on 13T
Vehicle:
2002 Impreza WRX

Default Great info

Jon;

Great info.

So based on that then the short answer to my question above is the ECU attempts to get to a preprogrammed hard coded ideal advance for high octane fuel (or as close to that number as the algorthm will allow).
edit -- ( at least in any given cell of the table, so there is not a global fixed max timing, but a max in each cell)

This is an important non-trivial distinction vs the off set scenario for the following reason.

If this fixed advance max scenario is correct, then there is some octane of fuel that will give you the maximum possible ignition advance the ECU is allowed to give. In that case once you exceed that ideal octane level you will gain no more advance, and with the exceptions of a cushion of octane for changing conditions and possible differences in burn characteristics, going to a higher octane fuel will have no effect on advance and probably horse power.


If the off set scenario was the correct behavior of the ECU, then you could in effect tune the ignition timing the ECU would give you by finding the fuel octane that gave the mechanically ideal ignition advance.

Last -- although I think I know the answer just to be absolutely clear, are the algorthms you posted above, known to be true (at least in general behavior if not in exact construct) or are they hypothetical for the purposes of the discussion?

Larry

Last edited by hotrod; 01-17-2003 at 06:06 PM.
hotrod is offline   Reply With Quote
Old 01-17-2003, 06:09 PM   #42
Jon [in CT]
*** Banned ***
 
Member#: 2992
Join Date: Nov 2000
Chapter/Region: NESIC
Location: Connecticut, USA
Vehicle:
02 WRX Sedan
Silver

Default

I stole the algorithms from FHI's US Patent 5,000,149 because they seemed to fit (after scaling Shiv's Ignition Advance Multiplier to the patent's e) the little bit of actual data offered by Shiv. I have no idea of whether the WRX's ECU uses anything even remotely similar to what I've written.
Jon [in CT] is offline   Reply With Quote
Old 01-17-2003, 06:17 PM   #43
hotrod
Scooby Specialist
 
Member#: 14141
Join Date: Jan 2002
Location: 13.239@102.85 @ 5800 ft on 13T
Vehicle:
2002 Impreza WRX

Default what I thought

That's pretty much what I thought, as I knew you liked to dig into the patent files.

I would guess they are very close, with maybe some trivial additonal variables thrown in etc.

At this point someone with a dyno could take those relationships and play with different fuels and either validate them or demonstrate exceptions.

My guess based on my previous experience and what you've added here is from a performance point of view the improvements above 104 octane will be small, except for those running high boost and with on the edge tuning. In that case they probably do not rely on the stock ECU anyway.

If how ever one of the folks who can do ECU reflashes wanted to they could optimise a reflash high octane map for 112 or above, with a low octane map at typical values to give the ECU more dynamic range.

I love puzzles !!
Larry
hotrod is offline   Reply With Quote
Old 01-17-2003, 07:22 PM   #44
drees
Scooby Specialist
 
Member#: 25905
Join Date: Oct 2002
Chapter/Region: SCIC
Location: San Diego, CA
Vehicle:
2003 Silver Wagon
Tuned with Enginuity

Default

Quote:
Originally posted by Jon [in CT]
P.S. So, If what I've written here is correct, it should take a full 8 seconds (not 5 seconds) for the Ignition Advance Multiplier (IAM) to change from its initial value of 8 to its max value of 16, assuming no knock.
Great post. Assuming what you've written is correct, then yes it all makes sense. Of course, if it samples more often than once second the period would be less.

Interesting that FUJI filed that patent you reference back in 1991! I wonder how long they've been using it?

Given light of this information, do you think that Vishnu's ECUTEK mapped ECUs still have the low-end map capable of running crappy fuel? I'd had to get a crappy tank of fuel (or someone fills it with 87 on accident!) after a reflash and have the engine detonate to bits because the mapped ECU no longer has the adjustment range to back off enough.

Now knowing this info, it seems that I was correct in thinking that the ECU does adjust timing parameters over specific RPM ranges. But it that general adjustment map seems to affect performance the most.

It would be interesting to learn Shiv's general strategy when designing the various maps what what they change to get so much more power over stock.
drees is offline   Reply With Quote
Old 01-17-2003, 07:31 PM   #45
hotrod
Scooby Specialist
 
Member#: 14141
Join Date: Jan 2002
Location: 13.239@102.85 @ 5800 ft on 13T
Vehicle:
2002 Impreza WRX

Default Good point

Quote:

I'd had to get a crappy tank of fuel (or someone fills it with 87 on accident!) after a reflash and have the engine detonate to bits because the mapped ECU no longer has the adjustment range to back off enough.
Good point, the other thing that comes to mind from Jon's post, is if the ECU only monitors for knock up to 5000 rpm then presumably extrapolates suitable timing for 5000+ rpm does knock protection exist at 5000+ rpm?

For example, if a tuner changes the mixture or boost profile at high rpm, does the ECU just require a much stronger signal at high rpm to pull timing?

Larry

Last edited by hotrod; 01-18-2003 at 12:16 AM.
hotrod is offline   Reply With Quote
Old 01-17-2003, 10:23 PM   #46
Jon [in CT]
*** Banned ***
 
Member#: 2992
Join Date: Nov 2000
Chapter/Region: NESIC
Location: Connecticut, USA
Vehicle:
02 WRX Sedan
Silver

Default

Some other observations.

It appears that the stock ECU's load reference for ignition timing is, crudely, boost.

It appears that ignition advance determination depends, ultimately, on the input from only three sensors:
Crank angle position sensor (for engine RPM)
Manifold absolute pressure (MAP) sensor
Knock sensor

It appears the ECU ignores other sensors which folks here have speculated are an influence on timing advance:
Mass air flow (MAF) sensor
Throttle postion sensor
Intake air temperature (IAT) sensor

I know, for instance, that RiftsWRX believes strongly that intake air temperature plays an important role in determining ignition timing advance, so strongly that he was able to persuade the UTEC designers to include it as a timing advance modifier in the TurboXS UTEC piggyback.

And to Shiv (who asked: "Hey, doesn't anyone want to know why this works? I don't think anyone has asked that yet... any guesses?"):

I'll bite. I'm asking: why this works?

And please don't be shy in the future about sharing other observations/tips about how the stock ECU really works, now that you can see it internals.

P.S. Shiv, if I have guessed more or less correctly, am I the lucky winner of an ECUTEK Stage 2 from Vishnu?
Jon [in CT] is offline   Reply With Quote
Old 01-18-2003, 04:59 AM   #47
WRX Harvey
Scooby Specialist
 
Member#: 13025
Join Date: Dec 2001
Chapter/Region: RMIC
Location: Longmont, Colorado
Vehicle:
1998 RS-T
Rally Blue

Talking Free HP from Vishnu

Yeah, why does this trick (shiv reset) work. Also, how did you come up with it? And thanks for it.
WRX Harvey is offline   Reply With Quote
Old 01-21-2003, 12:16 AM   #48
mlambert
Scooby Guru
 
Member#: 13831
Join Date: Jan 2002
Location: 99 problems but a bitch aint 1
Default Re: Free HP from Vishnu

Quote:
Originally posted by WRX Harvey
Yeah, why does this trick (shiv reset) work. Also, how did you come up with it? And thanks for it.
He was able to figure it out after learning how the factory ecu functions, I'm sure the ecutek guys are a great resource. If you were running a dyno shop and had to fuss with an ecu that had a dynamic ignition advance multiplier that got set to "0" after every reset and you were resetting it up to 5 times during a tuning session...it would be time well spent figuring out how to optimize that process!

The stuff that hotrod talked about with octane is great too. Right after you fill up with high octane before some motorsports event, do a quick ecu reset in this fashion and if everything else is in proper working order youre basically guaranteed the best performance your car can give
mlambert is offline   Reply With Quote
Old 01-21-2003, 10:43 AM   #49
AZScoobie
Scooby Guru
 
Member#: 8785
Join Date: Jul 2001
Chapter/Region: SWIC
Vehicle:
02 c_turner@ix.
netcom.com

Default

Quote:
Originally posted by Jon [in CT]
Some other observations.
It appears the ECU ignores other sensors which folks here have speculated are an influence on timing advance:
Mass air flow (MAF) sensor
Throttle postion sensor
Intake air temperature (IAT) sensor

Anyone who has used an SAFC on a WRX while monitoring a Delta dash can clearly see that MAF input effects ignition advance. The more fuel is removed with the SAFC(less MAF input voltage at the ECU) the more advance ramps up. In cases where the fuel system is far overkill for the application and alot of negative fuel correction is needed on the SAFC Ignition advance can rise to the point that its to much and knock is induced. Greg (Turborex) as spent hours datalogging this behavior and can offer more insight.

I have yet to try this reset trick but will datalog with delta dash my advance curve before and after the reset/trick. It will be interesting to see the final results.

I found Shivs post interesting because I have been using this trick for about a year now without knowing what I was doing and or why it was working. I discovered this trick while drag racing. I noticed on a reset ECU my times would drop. This was back before the delta dash existed so I was guessing as to what was causing the power loss. While experimenting and pulling a few ideas of posters on this forum I found that reseting the ECU and then running wastegate boost on the way to the track before boosting up high would always net a faster time. Add race fuel, Reset ECU, Turn boost down to 8psi, Drive to track, turn boost up.... I posted that suggestion many times to drag racers on the forums. Now I know why it worked.

Clark

Last edited by AZScoobie; 01-21-2003 at 11:08 AM.
AZScoobie is offline   Reply With Quote
Old 01-21-2003, 11:05 AM   #50
MadWagon
Scooby Newbie
 
Member#: 14076
Join Date: Jan 2002
Location: San Diego
Vehicle:
2003 WRX Sedan
WRB

Default

Quote:
Originally posted by AZScoobie



Anyone who has used an SAFC on a WRX while monitoring a Delta dash can clearly see that MAF input effects ignition advance. The more fuel is removed with the SAFC(less MAF input voltage at the ECU) the more advance ramps up.
CT

I also see less MAF voltage equals less "air flow" (what the ECU thinks), thus shouldnt the natural reaction of the ECU be to advance timing to improve off/low/none boost performance. Wouldnt the ECU think that you're a lower RPM and adjust accordingly?
MadWagon is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
re-mapped ecu tiger20002 Subaru Conversions 2 09-03-2014 11:36 AM
Zero to 100% operational in .5 seconds Strider Off-Topic 31 02-01-2008 04:10 PM
Fuel Vapor Technologies Car = 92 mpg and 0-60 in 5 seconds hampster Non-Subaru News & Rumors 11 07-19-2007 12:15 PM
0-60 in 5 seconds, Confirm please? kahtep Proven Power Bragging 11 07-17-2006 01:55 PM
10-100mph in 7 seconds! BlownCobra Off-Topic 39 12-03-2003 12:02 AM


All times are GMT -4. The time now is 10:50 PM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Powered by Searchlight © 2015 Axivo Inc.
Copyright ©1999 - 2014, North American Subaru Impreza Owners Club, Inc.