1UZ vs 3UZ, 4L Judd V8 Dreams and More | Today At HPA [UPDATE 233]

1UZ vs 3UZ, 4L Judd V8 Dreams and More | Today At HPA [UPDATE 233]


– Hey guys, Andre from High Performance
Academy here, welcome along to another one of our webinars. Now today we’re going to be looking at
transient fuel tuning on the Haltech Elite 2500 ECU. This is one of those aspects that I know
even a lot of professional tuners really struggle with and getting your transient
fuel tuning correct can be the difference between a car that drives nice and smooth
just like a factory calibration, and one that’s barely drivable. So it’s something you really do need to
focus on getting right. We’ll get into that shortly but before we
do so, just an update on what’s been going on around HPA Labs over the last week. And if you joined us last week you’ll know
that we didn’t have a very successful weekend at the one hour endurance race
that Ben and the team attended at Teretonga Motorsport Park. Unfortunately our 1UZ-FE let go in a
fairly spectacular fashion. Now I showed, last week a couple of
shots, we hadn’t actually got the engine out of the car at that point,
so I was a little bit limited on what we knew and I’ll just give you a bit of an update
now, we haven’t actually got the engine apart but we’ve got it out of the car and
let’s just say it’s not looking too healthy. So we’ll jump across to my laptop screen,
this is the photo I showed last week, so this is actually shot underneath the
headers with the engine still in the car so it was a little bit hard to get too much
perspective but fair to say there’s not a lot of good things happening in there. Nice to see that the conrod actually looks
like it was still intact, the wrist pin obviously still through the connecting rod
there. Getting the engine out, this is another view
through that same hole and normally when you can see the cylinder head looking
like that, you know that you’re not going to have a lot of parts left to reuse. At this point we are speculating but it does
look like the cause of the original failure is probably to do with the valve train,
possibly we’ve ended up with a valve contacting the piston, possibly, possibly a
valve has dropped. So we can see in this instance we’ve got
a nasty bend in this particular valve. This one snapped the head clean off. This little guy here, I think we found him
outside of the car, I’m not sure but there he is anyway, Safe to assume that no amount of coarse
valve grinding paste is going to get this little guy back into an operational form
any time in the near future. Now I actually don’t know off the top of my
head exactly what the specification of this engine was or what it is, I can’t tell you
what that valve is, I don’t think it was a factory valve, it could quite possibly be
a Supertech aftermarket valve. But again, we did a little bit of digging to
figure out, essentially for those who aren’t aware, we inherited this car from a
customer we were dealing with, we were doing the electronics and the
tuning work on the car, had the engine built by a local engine builder who deals
with building these 1UZ-FE Toyota engines for the stockcar market where they run as
a sealed engine in a specific class. So that’s the valve, we’ve also got a couple
of little momentoes here that came outside of the engine, probably a combination of
what’s left of piston, maybe some cylinder wall as well, again doesn’t really matter,
not particularly usable. And again just to show some signs of how
ugly this all got, when you pull the inlet off the throttle body there and you can see
some nasty pieces of aluminium shrapnel sitting up on the outside of the throttle
plate, you know that things have gone catastrophically wrong. And you can see there, the amount of
shrapnel just inside of that throttle butterfly. So not a particularly pleasant sight to come
home to and find all of this carnage but unfortunately that is motorsport and if you
are in motorsport for long enough, at some time you’re going to have failure
of this magnitude. So there’s the inlet manifold with the top
of the plenum chamber removed and again just the sheer amount of destruction to get
all of these parts up outside of number one cylinder which is the one that let go and
sitting them up there in the top of the plenum, it’s actually pretty spectacular. Now the downside of this of course is that,
when the engine let go at something like 8000 to 8200 RPM, by the time Ben
actually managed to get the car stopped, the engine’s obviously spun over a lot
after the failure and that tends to distribute all of these parts through the other
cylinders so essentially we’re really not expecting any recoverable parts, maybe the
rocker covers might polish up, we don’t know but we’ll see what goes on
once we get a bit deeper into it. The other aspect here is inside of the plenum
chamber I actually managed to find a couple of pieces of ring from number one piston
so again it is quite surprising just how bad these things can get at that sort of
RPM when they Chernobyl. However we’re not going to let this get us
down and the other day, yesterday, this replacement donor engine turned up. Again, obviously we’re not going to have
a lot to work with, with that existing 1UZ-FE so we chose to start with a
fresh donor block. So this turned up from a local wrecking
yard, so I just want to talk a little bit about the specification for this new
engine and a bit of the planning that’s going into it. So this really comes down to some of
the considerations that a lot of enthusiasts will have to make, maybe
some of you watching today, when it comes to planning out an engine
and some of the considerations that we’re going through here, so you’ve got a better idea
of what we’re thinking about and how we’ve gone about it and approached it. So first of all it’s important to understand,
the race series that we run in, the South Island Endurance Series, the class
that we’re running in is 3.5 litre engines and above so basically once you’re
above 3.5 litres, other than GT3 cars and Porsches which get separated off into
their own class, it’s a free for all. You can put whatever engine you want in
it, forced induction, supercharged, doesn’t matter, anything goes. So fair to say when we are dealing with a
four litre V8 that makes around about 450 horsepower flywheel on our dyno,
we are significantly outclassed, there are a couple of competitors running
700 horsepower GM LS7 V8s. We’ve got another competitor we believe
joining the fray next year running a 700 horsepower Toyota 2JZ turbo engine. We’re not going to be able to get up to that
level and what we want to do is be a little bit mindful of the amount of time and
effort and resources that we have to pour into this car. That straight away eliminated us from
reengineering the car for another engine, although we did go very briefly through a
bit of a tangent when we had on offer the potential for a Judd four litre V8,
that would have been great, particularly in my opinion one of the best
sounding naturally aspirated V8s. But that didn’t transpire and realistically
we probably didn’t have the time available to get all of that worked up. So what we want to do is basically
maximise the capacity of the engine that we are dealing with here. Ideally to be a little bit more class
competitive next year, we want to be somewhere around about the 550,
ideally maybe 600 flywheel horsepower and that’s a big stretch from the 450 we’re
at at the moment. So of course when it comes to naturally
aspirated engines, there is no replacement for displacement. We want to get a little bit more capacity
in there so this is why we’ve actually started with our next donor engine being the 4.3
litre 3UZ-FE. Now there is another big brother in that
Toyota line up as well, the 2UZ-FE, that’s a truck engine and it really wasn’t
suitable for us despite the fact it gets out to 4.7 litres, we go from a nice light
alloy block to a cast iron block. Definitely bullet proof but we’re not making
the kind of power and cylinder pressure that we need a cast iron block. The other problem really is that that
2UZ-FE block weighs something like about another 35 or 40 kg and we don’t
want that weight over the front axle line. So alloy block it was, 3UZ-FE is the way
we’ve gone. Now those blocks, actually identical between
the 1U and the 3U, the only difference there is in the bore diameter and it’s a factory
sleeve in that block, takes us from, off the top of my head I think we’re 87.5 mm
on the 1UZ, takes us out to 91 mm with the 3UZ. For reference the 2UZ, that cast iron truck
block, is a 94 mm bore so really the capacity all comes down to the bore. Actually that’s not quite right, there is
a slight difference in stroke with the 2U crank. I’ll come back to that. Keep your notepads out because I know
I’m chucking a lot of numbers around but hopefully this is of interest to some
of you going through this process anyway. So the 4.3, that’s the one we’ve gone for,
now of course we would have the option to sleeve a 1UZ block, we could go bigger
than 91 mm, we could go to 94 mm. The reason we don’t want to do that is
that sleeving at best is an expensive process but at worst as well it can actually fix one
problem, which is bore strength and bore capacity and create a whole new set of
dramas with sleeves dropping and leaking head gaskets. And frankly we don’t want to be in that
scenario and what we do want is a situation where if we are unlucky enough
to have another failure, we can easily replace this engine, rebuild it, get it up
and running quickly with off the shelf parts from Toyota. So that’s the sacrifice we’re going with,
we are going to be stuck at or about that 91 mm bore. We can actually go to a 20 thou or 0.5 mm
oversize quite safely there. So that’s going to get us out to somewhere
around about, well obviously it’s going to get us out to 4.3 litres with that stock
stroke crankshaft. So we’re looking at our options to go a
little bit further. The first of them that I investigated was
actually offset grinding the factory 1UZ crank. Now again, yes we could get a billet crank
made, hugely expensive and again we’re in that same scenario where we’re starting
to use custom parts where if we have a failure, we’re going to be sidelined for a
long time while we get another crankshaft manufactured, I don’t want to be in that
scenario. So again we’ve made the decision to stick
with stock parts. So what we can do here is offset grind the
big end, so basically we need to match this up to a different diameter big end journal
for our connecting rod. And in stock form the 1UZ crankshaft is,
I’m just checking my notes, 52 mm in outside diameter. Now a really common bearing size that
is used in all manner of different engines is the Honda B series big end journal. So that takes you down to, off the top
of my head, yeah it’s 45 mm. So what we can then do is essentially offset
grind the big end of the 1UZ crank, that lets us offset it by seven millimetres,
what we need to consider is it’s actually the centreline we’re moving. So gives us another additional 3.5 mm,
half that offset in terms of additional stroke. Again, hope you’re paying attention here,
we are getting to the end of this. That would get us out to 4.6 litres which
is definitely a healthy increase over the 4.3 3UZ, great increase over our existing
four litre capacity. However speaking to the company that
originally built this engine, they specialise in these engines, they’ve actually gone
down this same path themselves and found that the 1UZ cranks don’t take kindly
to offset grinding and have failed so we’re sort of back at square one. At this stage we’re thinking we might just
bite the bullet and stick to 4.3 litres. We can also use the 2UZ crankshaft. That takes the stroke from 82.5 to 84 mm. It’s quite an expensive option for just
another 1.5 mm of stroke though and essentially all things being equal that
gets us about a 90 cc capacity increase. So if we can essentially get the same power
per litre that we’ve got now and just increase our capacity, that 90 cc is basically worth
about 10 horsepower so it ends up being a pretty expensive 10 horsepower. That’s where we’re at at the moment,
obviously regardless what option we go with there, particularly if we go to the Honda
big end bearing size and offset grind the crank, we’re probably sidelining that,
but even that would still require a custom connecting rod but no huge deal there. The other aspect is that in stock form,
in the form that these engines were built by the supplier, they are limited to
10:1 compression for the stock car class here in New Zealand. We obviously don’t have any limitations,
we do still want to run on pump gas. This is because an ethanol fuel,
the additional fuel burned for endurance racing just isn’t worth it so we don’t want
to be doing additional pistops. So we’re probably going to be looking
somewhere around about a 12, 12.5:1 compression, that should be something
that is manageable on the pump gas without us being highly knock limited. The other aspect, just with the cylinder heads,
we’re going to be going to an oversize valve. Obviously we want to address why we’ve
got this problem with the valve dropping or what’s happened there in the first
place, so that’s something we need to get on top of, we definitely don’t want a
repeat of that. And we’re also considering a switch from the
plenum chamber with single drive by wire LS throttle body to a set of cross
over ITBs running, still running the drive by wire system. That remains to be seen if we go down
that path. Hopefully if we do all of that, should free
up airflow on the intake side and hopefully we can get up around that 550 flywheel
horsepower. We also don’t want to sacrifice our revs
at the moment, it’s got a nice wide powerband from about 6500 up to
about 8800 RPM. In fact we’d like to extend that with
the ability to rev that engine up to about 9000. So there you go, some of the considerations
that we’ve gone through. We certainly haven’t finalised our decision
yet on exactly what that specification will be. But we’re hoping to get that squared away
in the next couple of weeks so we can start getting some of these custom parts
made. Obviously we want this engine back up and
running and the car back up and running as quickly as we can. Alright we’ll move on, let’s head back across
to my laptop screen. And this is an Instagram I put up a
couple of days ago and I just wanted to bring this up because it is relevant to our
3UZ/1UZ discussion as well. This is a shot I took at PRI, this is of a
naturally aspirated drag car and what we can see here is that each of the headers
has an individual cylinder lambda sensor fitted to it, so we’ve got two, three and the
other one’s hiding around the back. Now I just want to talk about this because
I think it’s something that is often misunderstood or overlooked in that when
we tune engines, generally what we do is we have a single lambda or wideband
oxygen sensor fitted to the exhaust, usually that’s going to be in the collector
where it’s sampling all cylinders. In this case obviously four cylinders on each
side of a V8. Now that’s all well and good but the problem
with that is that we are actually just seeing the average of the air/fuel ratio across all
four cyinders. Now what that means is that we could
easily have one cylinder that’s a little bit rich, we could have another cylinder
that’s a little bit lean, a couple in the middle and essentially the number that
we see on our datalogger or in our laptop is exactly where we want it to be. Now that’s OK for most instances,
particularly in low powered street car engines, it’s probably not going to be the
end of the world if we’ve got one cylinder running just a little bit lean. As we start increasing the specific power
levels, increasing the cylinder pressures and pushing the engine harder and harder
though, the envelope that we’re able to run the engine in safely starts to get a little bit
narrower and what we can now find is that one cylinder being a touch lean could actually
result in a failure. So this is why individual cylinder lambda
sensors like this become a really powerful input. Traditionally this was done, particularly
at the start of my career, we weren’t seeing a lot of wideband controllers like
this and they were very expensive so traditionally it was actually done with
exhaust gas temperature sensors, one in each header. That gives us some data but the problem
is that while the air/fuel ratio will affect our exhaust gas temperature reading,
it’s also influenced by a number of other parameters such as the coolant flow around
the cylinder head, the ignition timing, and a range of other aspects. So EGT, not necessarily a perfect indicator
of our air/fuel ratio. It will give us an idea though. Obviously if we’re monitoring the lambda
directly then we know exactly what the air/fuel ratio is and we can trim. Inside of the ECU there will generally
be individual cylinder trim tables, so we still tune the engine overall with
a single fuel or VE table but then we can account for any discrepancies on individual
cylinders with a three dimensional trim table versus load and RPM. Now these sensors, while we can leave them
in the exhaust header the whole time, generally and particularly on turbocharged
engines, this can be quite hard on the sensor and you can end up experiencing a reduced
sensor life. So quite often these will be used only for
dyno tuning and then those O2 sensor bosses will be blanked off once the engine
has actually been tuned and heads out on the street. Now also I’ve been talking a little bit
lately about our RaceCraft sister project and I want to just jump over to our RaceCraft
Instagram account as well. If you guys aren’t following RaceCraft
already, please make sure you do so, we’re RaceCraft HQ. Like High Performance Academy but for those
who want to optimise the performance of their racecar. This is a short tech nugget that we shot
while we were at World Time Attack Challenge last year and we talk about
what an adjustable brake bias is and what a pedal box is, so how exactly these work
with dual master cylinders to enable us to vary the bias between the front axle
and the rear axle braking. Really important, particularly more so for
those without ABS to allow the driver to adjust the bias forwards and backwards
in order to optimise the braking performance. This is important as the fuel load in the car
burns off and the weight distribution in the chassis changes. Also really important to optimise the setup
between dry and wet as well. So if you want to learn a little bit more about
how to make your racecar go faster, also how to drive your racecar quicker,
then check out RaceCraft HQ’s Instagram account. And lastly for today, I’ll just head across
to our YouTube channel and this is our latest Tuesday release here. This is a video that we shot back in July
when we visited Mountune when we went to Goodwood Festival of Speed. And Mountune, well known for creating
numerous different types of engine. Here we’re talking to David about the
development of their World Rallycross engines and while these engines on face
value aren’t maybe the most powerful things in the world, they generally produce
around about 600 horsepower, they are actually restricted, so this is why
they only make 600 horsepower. They run a 45 mm inlet restrictor. This restricts the airflow through the
turbocharger and basically chokes it at high RPM. So while the high RPM power from these
two litre engines isn’t anything particularly spectacular, we see probably a lot of road
cars now making more than this. What’s easy to overlook is that at lower RPM
they can run massive amounts of boost pressure, three bar plus, through these
turbochargers and these engines are seeing in the region of 850 newton metres
of torque at low RPM. And it’s really really difficult to keep the
engine together and keep it reliable under that sort of cylinder pressure. So we talk to David about what exactly
goes on in the development and how they overcome their head gasket sealing issues. You might be surprised, regardless of the
different techniques with wills rings, gas filled o rings et cetera, out on the market
now that are commonplace in high powered turbocharged drag engines, Mountune actually
ended up finding that a very special type of MLS, a multi layer steel head gasket,
was the best solution for their purposes. Alright so head across, check that video out,
make sure you subscribe, give us a thumbs up on that video if you like it. If you’ve got any questions, please ask those
in the comments, I’ll be happy to jump in there and help you out. Actually I said lastly but one more last,
so that was our second to last, this is our actual last, we are running
another one of our giveaways. It’s just gone live recently and this time we
have partnered with the team at AiM Sports and we’re giving away one of their
AiM Solo 2 DL lap timers/dataloggers. This is a really powerful tool, we’ve been
using this a little bit for some course development for our RaceCraft sister project. Probably one of the cheapest ways of
getting you some really high quality data. Actually if you win this prize, it doesn’t get
cheaper than this ’cause it’s absolutely free. The AiM Solo 2 DL is really easy to put from
one car to the next, comes with a roll cage mount, either that or a suction cup mount. It is fully self contained so it includes a GPS,
also includes a three axis G sensor and will give you all of the data that you
require, including being able to generate lap times predictive lap times and track
maps after you’ve downloaded that data. Nice feature with the AiM Sport data package
is that you can also download wirelessly. So there’s no need for clumsy tables and
climbing in and out of the car to get your data out of this unit. Now the AiM Solo 2 comes in two models,
there’s the AiM Solo 2 and then the DL which is the one that we’re giving away. The DL adds the ability to integrate data
from your ECU. It’s compatible with the majority of common
aftermarket ECUs and a simple two wire CAN bus from your ECU to the AiM Solo 2 DL
will get you all of that data. Really easy to configure, choose your ECU
type from a drop down menu and it’s as simple as that. Also via the OBD II port, you can also
gather data, some of the common data from most factory ECUs. So really really powerful, while the GPS
and G force data on its own is a huge benefit to data analysis, being able to
integrate that with aspects such as engine RPM, throttle position, wheel
speeds et cetera, really does open up your capability to analyse that data in
more detail. Now you can head across, I’ll get the guys
to put a link in the chat that you can follow if you want to get yourself into that draw. We are running that for another 16 days I
think at the moment. That’ll also come with the RaceCraft Wheel
Alignment Fundamentals course, just helping you get a little bit more knowledge
about how to set up your racecar. When you enter into that draw as well,
there are a range of other little tasks you can do to get yourself more entries into
the draw, so 16 days to go, absolutely free to get your name in that draw, it’s a great
prize package worth over $800 USD so head on over there and get your name in. Alright team thanks for watching today,
give us a few moments and we’ll get started with today’s webinar. If you liked that video
make sure you give it a thumbs up and if you’re not already a subscriber,
make sure you’re subscribed. We release a new video every week. And if you like free stuff, 
we’ve got a great deal for you. Click the link in the description to claim
your free spot to our next live lesson.

40 thoughts on “1UZ vs 3UZ, 4L Judd V8 Dreams and More | Today At HPA [UPDATE 233]

  1. I like the idea of keeping everything "off the shelf" as much as possible. 12.5:1 comp with itb's and kelford cam's plus adjustable cam gears. Maybe a dry sump to?

  2. Just a thing from my end here guys. Change those 3UZ rods to the 1UZ rods. The 3UZ is much thinner and not as wide and more prone to destruction under higher loads. That's why 1UZ's are still worth $1000+ most times and a 3UZ can be had for around $500 or less. 🤷

  3. What about the 5.7l Toyota Intech out of the Lexus GX570? Ported heads, 14:1 compression ( better thermal efficiency, throttle response ), enough cam with smooth acting lobes for reliability ( hp peak at 7500-8000 with good overrun to 9000 rpms ), tuned runner intake instead of itb's for cost and simplicity. Iron block is more stable in the long run, can offset weight elsewhere. The idea is to take the Ferrari 458 concept and apply it to the Toyota engine ( lots of compression, revs, etc. with excellent engine management and knock control )

  4. Junkyard engines can somewhat limit you in maximum performance but they open all sorts of doors in terms of reliability and parts availability.

  5. Here’s my issue with lambda sensors. They are only useful for tuning unleaded fuels. They don’t work with all fuels. I’ve noticed that even pyrometers get ruined.

  6. Judd V8 sound is just insane. Amazing engines you see a lot in Swiss Hillclimb video's (Youtube it if you dont know!). Maby nitrous oxide for this 3UZ? 150-200 shot on the straights, pretty light weight, and cheap!!

  7. Is there enough room for a procharger under the hood? Then you could just do bearings, rods, pistons, valve springs. I'm guessing a there's no room for a turbo.

  8. Didn't last years Bathurst 12 hour production race, all the GM V8's feasted out on pistons in the oil pan, on the track, was a hot Easter.

  9. who makes good rods now that Falicon in the US is no more, motorcycles? Their Falicon Knife was brilliant, he was experimenting with AM.

  10. I think I saw a video on Richard Holdener’s channel a while back about individual cylinder tuning, it didn’t make a lot of additional power on the dyno (not the point) but the engine was going to be a whole lot more healthy.

  11. I think you are in a rock and hard place. Since you are already built for the UZ I would keep the UZ. I would consider going down the procharger route for more power. Turbo would be better but that is a lot of packaging to deal with.

  12. Some more cool info' there.

    Minor error there regarding the offset ground big ends – you're correct in that the increase in the throw is half the change in diameter, 3.5mm, but the increase in stroke is actually 7mm, not 3.5mm – the change is both up and down from the crank centre line.
    Is there a difference in the crankshaft material between the car and truck versions as it is common for cars to be cast/nodular but truck forged – however, with Toyota they may both be forged?
    As you mentioned using Honda big end bearings, I assume you're looking at having some custom 'rods made up? If so, a compromise may be to use the early Chev' 2" (50.8mm) big ends with a small offset grind of the truck crank? I don't know how the widths, compare but there is a good selection of shell materials available.
    With the pistons (and rods for that metter) you're probably going to need to special order them – that may be a good opportunity to look at the ring pack and how you can move the gudgeon pin up for a better rod-stroke ratio? Oh, again, if they're custom, might be worth looking at thinner rings as there seems to be a small reduction in friction with negligible wear penalty, maybe even a single compression ring?

    The cylinder airflow variations are something many people overlook and, judging from some plenum designs, are ignorant of – however, even then, the affect of the exhaust on the airflow characteristics in the cylinders also shouldn't be overlooked, and this also applies to forced induction of either type.
    There is a good video on YT, where a tuner is setting up a dual quad tunnel ram, and there quite a big difference in the jetting around the carb's because of the airflow variations in the plenum – same thing may occur in EFI plenums.
    FOUND IT – different application, same principle! – https://www.youtube.com/watch?v=EP1Rh829rVk

    The Mountune engine is actually directly related to one of today's topics – note the plenum design that is intended to give a more even distribution than an end opening design.

  13. Individual Cylinder tuning was and still is done on every single car at my old workplace. From carby to EFI even on everyday stock standard nothing street cars. This is done by reading the each spark plug multiple times throughout the tuning process.

    The reading of the plug is done by looking for a nice thin grey lead pencil like fuel ring at the base of the porcelain insulator deep down inside the plug to confirm good fuel mixture and then looking for "peppering" on the insulator tip for any signs of detonation (carbon specs) using an eye magnifier with a light.

    This combined with ditching the basic 02 sensor tuning and using a high speed gas analyzer while paying specific attention to C0, C02, Lambda, HC and N0x using steady state tuning has resulted us achieving a highly balanced engine (equal cyl pressure per cyl) resulting in great engine torque/power, fuel economy and safe tunes on the road and in circuit racing. Obviously this cant be done live with the engine running so some margin is always left on the table but with no drop off in torque and no knock being recorded in the data logging on long steady state runs its a proven method.

    I would love to get my hands on a set of transducer spark plugs and look at live data right inside the combustion chamber and more accurately lean on cars harder while keeping that safety margin.

  14. I wonder if you could fit a coyote ford engine in that chassis. It would drastically help you to meet your power level or 600. Fairly light weight although they are super wide. I love the sound that 1uz made though. Good luck.

  15. I think the issue you will be having is trying to get the weight of that rotating assembly as log by as possible while keeping strength.

  16. Only HPA could make something akin to a nuclear wasteland entertaining!
    Sorry to see it guys, BUT, as they say "One engines explodes, another find its way into its place." or something like that 😉
    Also, the 3UZ isn't a bad choice and I'm looking forward to see what you can do with it, given your constraints.

  17. I need to congratulate you guys, yet again, for running one of the best and useful information rich channels on YT.
    The tuning sensor part of this vid was well delivered and hopefully will have served to debunk of misinformation about the "best" way to tune a multi-cylinder hydrocarbon burning engine.

Leave a Reply

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