BMS limitation

harrisonh

100 mW
Joined
Mar 27, 2016
Messages
37
Location
Michigan
I have a Hailong 36V 23Ah pack from Grin, that came with a 40A BMS. This is my first battery with a bms. https://ebikes.ca/b3623-lim-dt.html

I wanted to see if I could push it higher than 40A for "short periods", and hopefully modify the most limiting components.

What parts should I check for?


I started tweaking my controller, increasing the battery limit, but the BMS never shut the battery off. I went all the way to 70A and the battery kept running for about a minute without shutting off.

The 14gauge discharge wires were getting hot (over 100C), so I started replacing those with 10gauge.

I noticed there are 4x 10Ohm (edit 10mOhm) resistors, and those were getting really hot. Even with just 40A, they reached 130C in about 1 minute with the battery outside the enclosure.
 

Attachments

  • 40A bms.jpg
    40A bms.jpg
    399.3 KB · Views: 708
  • 40A for 1min _ resized.jpg
    40A for 1min _ resized.jpg
    21.7 KB · Views: 697
Why would you abuse the BMS beyond its clearly stipulated rating, rather than getting a higher current BMS (if you are sure the cells are rated for more)?

Nobody's going to force you not to break your own toys. But component specs and ratings aren't arbitrary; they exist to delineate what the item is capable of.
 
I was initially going to just see when the BMS shuts off to protect itself, say 40A, or 42A. Then I'd just set my new controller to pull just under that amount (previously had a non-programmable 35A controller). I definitely don't want to unnecssarily abuse the parts..

I had asked Grin about the BMS when I bought the battery a while back. They said the cells can definitely output more than 40A, but the battery current is limited by the connectors. They also sad the 40A rating is both max and continuous.

So, I didn't expect the BMS to keep running all the way up to 70A (10s7p Panasonic NCR18650GA cells, ~10A each).

Given that result, I just want to at least figure out when it should turn off, and what would cause that. Is it temperature of the FETs, traces, wires, shunt resistors, or something else?

As far as pulling more than 40A during use, if it's something non-trivial to change, then I'd just leave it be. However, if it's just the wiring or connectors, I figured I can change those easily.
 
harrisonh said:
What parts should I check for?
Everything that is in series with either of the main battery leads must be capable of the current flowing thru that path. So you have to find all of those parts, including the cells themselves, the series interconnects between them, the traces of the BMS PCB itself, the solder joints, connectors, crimps, FETs, shunts, etc., and replace anything that is not capable of it with something that is, or paralleling the new parts with teh old ones.

It might come down to replacing the entire pack, piece by piece, to get the current flow you want out of it.


I started tweaking my controller, increasing the battery limit, but the BMS never shut the battery off. I went all the way to 70A and the battery kept running for about a minute without shutting off.

Then this means the battery's BMS does not have a current limiting protection feature, or at least not one that works, or that is correctly set for the limit you want (if you want a limit lower than the 70A you tried so far).

Then I noticed there are 4 10Ohm resistors, and those were getting really hot.
They are actually 0.01ohm, or 10milliohm.
https://www.google.com/search?q=smd+r010+ohms
They are shunt resistors for your BMS to know how much current is flowing thru it. Just like the controller, and the Cycle Analyst, etc., current flow thru them generates a voltage across them, and whatever is reading them in the BMS would be setup to respond to a certain voltage in a certain way (usually by turning off the discharge FETs).

If you lower the resistance (which is what you must do to prevent the heat generation) then you prevent the BMS from knowing how much currrent is actually flowing, and make it unable to do whatever it is supposed to do in the event of overcurrent. Replacing them with more and physically larger shunts that still total the same overall resistance will fix that, while still allowing greater heat dissipation, as long as you have sufficient airflow to carry the heat away (but the same amount of heat will still be generated, in total).



Note that if your BMS isn't shutting off discharge at higher currents than it should be allowing, then it might also not be shutting off at lower voltages than it should allow. You might try verifying operation by running the pack down until one of the cell groups is at whatever cell-level LVC it has (could be anything from around 2.8v up to around 3.3v, probably at the lower end of that).
 
amberwolf said:
Then I noticed there are 4 10Ohm resistors, and those were getting really hot.
They are actually 0.01ohm, or 10milliohm.
https://www.google.com/search?q=smd+r010+ohms
They are shunt resistors for your BMS to know how much current is flowing thru it. Just like the controller, and the Cycle Analyst, etc., current flow thru them generates a voltage across them, and whatever is reading them in the BMS would be setup to respond to a certain voltage in a certain way (usually by turning off the discharge FETs).

If you lower the resistance (which is what you must do to prevent the heat generation) then you prevent the BMS from knowing how much currrent is actually flowing, and make it unable to do whatever it is supposed to do in the event of overcurrent. Replacing them with more and physically larger shunts that still total the same overall resistance will fix that, while still allowing greater heat dissipation, as long as you have sufficient airflow to carry the heat away (but the same amount of heat will still be generated, in total).



Note that if your BMS isn't shutting off discharge at higher currents than it should be allowing, then it might also not be shutting off at lower voltages than it should allow. You might try verifying operation by running the pack down until one of the cell groups is at whatever cell-level LVC it has (could be anything from around 2.8v up to around 3.3v, probably at the lower end of that).

Thanks, yeah they are definitely not 10Ohm haha.

I just ran my battery down to 28V, and cell voltages are 2.77 to 2.82. It stayed on even when voltage sagged to 27V.
Is this a faulty BMS then?
 

Attachments

  • cell voltage.jpg
    cell voltage.jpg
    179 KB · Views: 668
harrisonh said:
I just ran my battery down to 28V, and cell voltages are 2.77 to 2.82. It stayed on even when voltage sagged to 27V.
Is this a faulty BMS then?
I would say there is something wrong, though what specifically it is you'd have to do some tests to find out.

First is whether it is wired correctly. If the negative main wire from the battery cells to the BMS and the negative main wire from the case output are swapped, then the BMS can't shut off the output, because the FET's diode will always let current pass.

Usually B- goes to the cell negative, and C- to the charge port negative, and P- to the case negative. (dunno for sure on your BMS).

If it's wired right, then you can check the FETs to see if they are being told to turn off. If so, the gate pin (usually the far left pin when the three pins are "down" and the writing is facing you) should be near or at zero volts, whenever the BMS is turning off the port.

Typically the discharge fets are turned off under overcurrent or undervoltage conditions, but the charge fets are left on.

The charge fets are usually only off under overvoltage conditions.


If all the FEts are being told to turn on and off at the right conditions, then the fets themselves may be blown, which usually means shorted on. This is testable with the ohms or resistance function, directly across the Drain and Source pins of hte FEt (usulaly the tab and/or center pin to the righthand pin). If you disconnect the cells from the BMS it's safer for your meter, but if you can risk the meter (or it has a fuse you can replace on this function), you can try it anyway.

If the BMS is completely disconnected from the battery cells and you still get a short across the fets, then the fets are blown.
 
amberwolf said:
I would say there is something wrong, though what specifically it is you'd have to do some tests to find out.

First is whether it is wired correctly. If the negative main wire from the battery cells to the BMS and the negative main wire from the case output are swapped, then the BMS can't shut off the output, because the FET's diode will always let current pass.

Usually B- goes to the cell negative, and C- to the charge port negative, and P- to the case negative. (dunno for sure on your BMS).
B- silkscreen connects through the FETS to both the discharge negative and charge port negative. What would P- connect to? I don't see that.

If it's wired right, then you can check the FETs to see if they are being told to turn off. If so, the gate pin (usually the far left pin when the three pins are "down" and the writing is facing you) should be near or at zero volts, whenever the BMS is turning off the port.

Typically the discharge fets are turned off under overcurrent or undervoltage conditions, but the charge fets are left on.

The charge fets are usually only off under overvoltage conditions.

All 6 FET's gates are 9.3V when the battery rocker switch is ON.
When I turn to OFF, the gate voltages are approximately -25V, with one of them being -2V (I think this is the charge FET on the top left).
The battery is able to turn off properly using the switch too (output voltage = 0.08V when off)
So it seems like the FETs are still functional, so I didn't try to probe Drain-Source resistance

If I unplug the balance wires connector or the ON/OFF switch connector, the output is also off.
 

Attachments

  • BMS Fets.JPG
    BMS Fets.JPG
    149.1 KB · Views: 664
Most BMS just burn if you push past their rating

Fuses - and common sense - are for protecting such devices.
 
harrisonh said:
B- silkscreen connects through the FETS to both the discharge negative and charge port negative.
What would P- connect to? I don't see that.

One of the thick wires normally connects to the case's negative output pin--that goes to the controller along with the positive output.

Another one of the thick wires normally connects to the case's charge port negative pin.

The last of the thick wires would then connect directly to the battery's main cell negative.

The fets are there specifically to disconnect the battery case's output from the cells. If they don't do that, then the bms cannot do it's job of protecting the cells, and that's the problem you appear to have at this point (what we're doing now is to find out why, to see if it's fixable or if you have to replace the bms).



All 6 FET's gates are 9.3V when the battery rocker switch is ON.
When I turn to OFF, the gate voltages are approximately -25V, with one of them being -2V (I think this is the charge FET on the top left).
The battery is able to turn off properly using the switch too (output voltage = 0.08V when off)
So it seems like the FETs are still functional, so I didn't try to probe Drain-Source resistance

If I unplug the balance wires connector or the ON/OFF switch connector, the output is also off.
That all sounds like it's working correctly, then.

However--do you mean that the bike won't power on when the battery switch is turned off, or if it's balance connector or switch is disconnected? If so, then the FETs are all working, and the wiring is correct.

If that is the case, then it means the BMS is not telling the FETs to shutdown output when they drop too low in voltage (assuming it's LVC is not unusually, or even dangerously, low), or when too high a current is drawn (assuming it doesn't take an unusually long time to trigger).


Assuming it *is* really shutting off when switched off; then the BMS may be working as designed (but perhaps not as it needs to for your purposes).


Assuming the battery is not really shutting off, then you need to find out where each of the thick wires on the BMS go to. Sometimes two of them are the same (when a pack doesn't have separate charge and discharge connectors, but only one two-pin main connector) but on these "hailong" cases that have a separate charge port on the side (or end), it would be unusual for them to be wired to the same port, and normally would be separated), and then there's only two, instead of three, thick wires to the BMS.

If the wiring is correct, and the battery is not really shutting off, then you'd need to find out if the FETs are actually turning on and off, because if the wiring is right, then the fets probably are not doing so. One of these two things has to be the problem, if the bike is not shut off by the battery running low or drawing more current than the bms is supposed to allow.
 
amberwolf said:
One of the thick wires normally connects to the case's negative output pin--that goes to the controller along with the positive output.

Another one of the thick wires normally connects to the case's charge port negative pin.

The last of the thick wires would then connect directly to the battery's main cell negative.

Oh I understand. Those seem to be wired correctly.

The fets are there specifically to disconnect the battery case's output from the cells. If they don't do that, then the bms cannot do it's job of protecting the cells, and that's the problem you appear to have at this point (what we're doing now is to find out why, to see if it's fixable or if you have to replace the bms).



All 6 FET's gates are 9.3V when the battery rocker switch is ON.
When I turn to OFF, the gate voltages are approximately -25V, with one of them being -2V (I think this is the charge FET on the top left).
The battery is able to turn off properly using the switch too (output voltage = 0.08V when off)
So it seems like the FETs are still functional, so I didn't try to probe Drain-Source resistance

If I unplug the balance wires connector or the ON/OFF switch connector, the output is also off.
That all sounds like it's working correctly, then.

However--do you mean that the bike won't power on when the battery switch is turned off, or if it's balance connector or switch is disconnected? If so, then the FETs are all working, and the wiring is correct.

If that is the case, then it means the BMS is not telling the FETs to shutdown output when they drop too low in voltage (assuming it's LVC is not unusually, or even dangerously, low), or when too high a current is drawn (assuming it doesn't take an unusually long time to trigger).


Assuming it *is* really shutting off when switched off; then the BMS may be working as designed (but perhaps not as it needs to for your purposes).
Yes, they battery shuts off correctly when the switch is OFF, and also if the balance connector is disconnected.
After I disconnected the balance connector and reconnected, I needed to force charge with the Cycle Satiator for the BMS to turn back on to power the bike.
Given that it kept powering the bike when I dropped to 2.77V/cell, it seems like it has a LVC, but it is just somewhere below 2.8V/cell.. I'm guessing it would be bad for the cells to try to discharge further. :(

And the overcurrent/short circuit threshold, if it exists, is somewhere above 70A. Not sure if I should try more current to try to find the threshold.
Maybe I can de-solder 2 of the 4 paralleled shunt resistors, to simulate 2x higher current, just to check what the overcurrent threshold is?
 
harrisonh said:
Yes, they battery shuts off correctly when the switch is OFF, and also if the balance connector is disconnected.
After I disconnected the balance connector and reconnected, I needed to force charge with the Cycle Satiator for the BMS to turn back on to power the bike.
Then the FETs are working, and its' wired right.

Given that it kept powering the bike when I dropped to 2.77V/cell, it seems like it has a LVC, but it is just somewhere below 2.8V/cell.. I'm guessing it would be bad for the cells to try to discharge further. :(
Probably.

Myself, I would not want to go even that far, except as a test like this, just because the further they're discahrged, the shorter their lifespan, and 18650s generally aren't high-cycle-count cells to start with. I don't recall ATM exactly but I think I have my CA's LVC (since the controllers I'm presently using don't have a useful one) for something like 48v (3.4v/cell on my 14s2p EIG NMC pack), might be 42v (3v/cell, whcih is what hte spec sheet recommends for minimum, vs the absolute min of 2.5v for this specific cell)


And the overcurrent/short circuit threshold, if it exists, is somewhere above 70A. Not sure if I should try more current to try to find the threshold.
Maybe I can de-solder 2 of the 4 paralleled shunt resistors, to simulate 2x higher current, just to check what the overcurrent threshold is?
That is an option, as long as you're sure you can put them back if you need to. But if possible, you might want to just ask Grin Tech (if the batteries came from there, they probably tested all this stuff to get specifications) what the BMS is actually expected to do in it's protection modes, and at what limits.
 
amberwolf said:
18650s generally aren't high-cycle-count cells to start with.
True generally, but just want to point out (OT) that A123 LFP are an exception "that proves the rule"

 
john61ct said:
amberwolf said:
18650s generally aren't high-cycle-count cells to start with.
True generally, but just want to point out (OT) that A123 LFP are an exception "that proves the rule"

Were those ever made in 18650 format? I remember 26650 and pouches.
 
Chalo said:
Were those ever made in 18650 format? I remember 26650 and pouches.
Sure, now owned by LithiumWerks same top notch quality, "new" model is APR18650M1-B

https://www.google.com/search?q=a123+or+lithiumwerks+18650

Energy density sux though.


 
john61ct said:
Chalo said:
Were those ever made in 18650 format? I remember 26650 and pouches.
Sure, now owned by LithiumWerks same top notch quality, "new" model is APR18650M1-B

https://www.google.com/search?q=a123+or+lithiumwerks+18650

Energy density sux though.

Whoa, 1100mAh, 30A continuous. Full to flat in two minutes!

Still makes me wonder what kind of cell connections are feasible that would be able to carry that kind of juice. I sure haven't seen the like.
 
amberwolf said:
And the overcurrent/short circuit threshold, if it exists, is somewhere above 70A. Not sure if I should try more current to try to find the threshold.
Maybe I can de-solder 2 of the 4 paralleled shunt resistors, to simulate 2x higher current, just to check what the overcurrent threshold is?
That is an option, as long as you're sure you can put them back if you need to. But if possible, you might want to just ask Grin Tech (if the batteries came from there, they probably tested all this stuff to get specifications) what the BMS is actually expected to do in it's protection modes, and at what limits.

Makes sense, I'll ask Grin Tech first. Seems it'd be a bit difficult to desolder since the copper planes on both sides would suck away much of the heat.
 
Chalo said:
john61ct said:
Chalo said:
Were those ever made in 18650 format? I remember 26650 and pouches.
Sure, now owned by LithiumWerks same top notch quality, "new" model is APR18650M1-B

https://www.google.com/search?q=a123+or+lithiumwerks+18650

Energy density sux though.

Whoa, 1100mAh, 30A continuous. Full to flat in two minutes!

Still makes me wonder what kind of cell connections are feasible that would be able to carry that kind of juice. I sure haven't seen the like.
Just because they can, doesn't mean you should.

1C continuous, 3C peak is how you get to thousands of cycles over the years.

8-10,000 to 70% if well coddled

which would IMO be the only reason to use that chemistry in a propulsion context.

Utility, not fun.
 
harrisonh said:
Seems it'd be a bit difficult to desolder since the copper planes on both sides would suck away much of the heat.
Yes, you need to use a soldering iron or station with a large mass tip (chisel, or hammerhead), for enough thermal mass to hold the heat needed to do it in one swell foop. ;)
 
I just realized that with 4 parallel 10mOhm resistors, at the stated 40A rating, if the resistors perfectly share the current, each will dissipate (10A)^2 * 10mOhm = 1W.

They are 2512 sized resistors, so generally 1W rated? Makes sense to me now that they were getting so hot..

Seems to me like the BMS design has way too little margin on this front. I used to run this close to 40A continuously for several minutes at a time during my half hour to one hour long rides. Now I'm worried about even doing that. :confused:
 
Pretty much all of this stuff has zero margin--everything is used *at* the max ratings, rather than at well below that, leaving the max as an "emergency peak", so when you *do* end up with surges, spikes, peaks, etc., above those margins, you end up with damage or destruction or fire.

If you want it to be different, you either have to build it yourself out of parts that are well-engineered and manufactured (which wont' be cheap), or alter or limit the "cheap stuff" in such a way as to restrict it's ability to go beyond some lower percentage of it's actual "max spec"...or buy whole OEM systems that are designed to be limited in this way, with good engineering and manufacturing processes (I don't know if there are any of them like this now).
 
amberwolf said:
harrisonh said:
Seems it'd be a bit difficult to desolder since the copper planes on both sides would suck away much of the heat.
Yes, you need to use a soldering iron or station with a large mass tip (chisel, or hammerhead), for enough thermal mass to hold the heat needed to do it in one swell foop. ;)
Worked well, with a chisel tip :)

Scary and doesn't make sense to me why advertised continuous would be the same as components' max ratings.. But now I know, haha. My next purchase will hopefully be more informed :)

As for overcurrent threshold, I tested it a bit myself. I contacted Grin as well to see if they have other data.

1) Tried 100A, and didn't trip.

2) Removed one resistor, and still didn't trip. This would have been around 330mV across the shunt, simulating 130A with the original 2.5mOhm shunt.

3) I removed a second resistor and reduced my current limit to 80A, and it tripped on the first try.
80A would be around 400mV.
So originally, the design would have been somewhere between 130A and 160A with the 2.5mOhm shunt.

I also scoped the shunt voltage, but didn't have it zoomed out enough to show when it happened. But it does clearly show that 300-320mV, it still hasn't turned off (320mV/5mOhm = 64A, or equivalently 2.5mOhm -> 130A).

The turn-off was super fast, as my cycle analyst set at 55Hz logging just saw it drop in one sample.
The battery didn't completely turn off after that... turning it on worked, but toggling it off it would still output 22V.
However, within about 2 minutes, before I could probe the fets to see what was going on, it turned off.

I would have tried testing lower currents to see what the threshold and delay times are, but it seems like the shut-off is super fast and might be damage something?

To create some margin and reduce the power dissipation/heat in the shunts, I'm thinking that an approximately 200A threshold won't be that different from 160A to protect from shorts. (approx 0.1mOhm pack resistance, so maybe 300-400A during a dead short circuit)

Replace 4x 10mOhms -> 4x 7.5mOhms
~160A threshold -> 210A threshold.
1W -> 0.75W per resistor at 40A
But now I have to consider if it's really necessary since I don't have parts on hand.. $8 shipping for just 4 tiny resistors.
 

Attachments

  • cycleanalyst.JPG
    cycleanalyst.JPG
    69.6 KB · Views: 508
  • scope_screenshot_didnt_capture_enogh.jpg
    scope_screenshot_didnt_capture_enogh.jpg
    56.7 KB · Views: 508
  • removed 2 shunt resistors.jpg
    removed 2 shunt resistors.jpg
    144.1 KB · Views: 504
harrisonh said:
3) I removed a second resistor and reduced my current limit to 80A, and it tripped on the first try.
80A would be around 400mV.
So originally, the design would have been somewhere between 130A and 160A with the 2.5mOhm shunt.
That's pretty far from the stated limit (40A?). I would guess that the stated limit (by the manufacturer?) means what the BMS is intended to handle rather than what it's protection is set for (which isn't what I would expect; I would expect those to be at least close, if they don't match).


The turn-off was super fast, as my cycle analyst set at 55Hz logging just saw it drop in one sample.
It should, since it's turning off the FETs hard (negative gate voltage, not just zero), and the FETs should react very fast (like those doing PWM/etc in a motor controller).


The battery didn't completely turn off after that... turning it on worked, but toggling it off it would still output 22V.
However, within about 2 minutes, before I could probe the fets to see what was going on, it turned off.
If you didn't have a load on the output, then that's "normal", in that there is a leakage voltage on the output of the FETs, that with a load will essentially just drop to zero.

If you had a controller or other device with a capacitor attached to the output, but it wasn't "on" (doing something that's loading the circuit), then it is normal for it to have some voltage for a time, which will discharge down at whatever rate the capacitance vs load allows. It may even "shelf" or "plateau" at some voltage, where the controller or load reaches it's LVC and turns itself off, and starts drawing only standby current instead of active current levels.



I would have tried testing lower currents to see what the threshold and delay times are, but it seems like the shut-off is super fast and might be damage something?
It shouldn't damage anything for the shutoff to work normally. If you have an inductive load on it, then the "flyback" from that load's current flow stopping/reversing can create a voltage spike that can damage whatever is still attached to the load, if the spike exceeds the ability of the load to absorb it. (usually that's not an issue)



To create some margin and reduce the power dissipation/heat in the shunts, I'm thinking that an approximately 200A threshold won't be that different from 160A to protect from shorts. (approx 0.1mOhm pack resistance, so maybe 300-400A during a dead short circuit)

Replace 4x 10mOhms -> 4x 7.5mOhms
~160A threshold -> 210A threshold.
1W -> 0.75W per resistor at 40A
But now I have to consider if it's really necessary.. $8 shipping for just 4 tiny resistors.
It wont' affect "normal" operation, but if you increase the current limit you do risk damage to the FETs, if they're not able to handle that extra spike current, in such an event.

A better more tuneable alternative is to replace the shunts with a hall-based sensor (like the allegro-micro stuff, etc), which is attached around the negative output wire, rather than having the current electrically pass thru it (like it does with the shunts), it then detect the current via magnetic field and outputs a voltage that you can use an op-amp circuit to tune to match the current limit you really want the BMS to shutdown at.


That still doesn't change the cell-level LVC protection to make it safer, but at least it helps with overcurrent protection.
 
amberwolf said:
The battery didn't completely turn off after that... turning it on worked, but toggling it off it would still output 22V.
However, within about 2 minutes, before I could probe the fets to see what was going on, it turned off.
If you didn't have a load on the output, then that's "normal", in that there is a leakage voltage on the output of the FETs, that with a load will essentially just drop to zero.

I had the controller and CA connected. Normally, turning off the battery via the switch, the voltage drops to near 0V in under a second. So seems like something was wrong that it was outputting 22V for a minute.

It wont' affect "normal" operation, but if you increase the current limit you do risk damage to the FETs, if they're not able to handle that extra spike current, in such an event.

A better more tuneable alternative is to replace the shunts with a hall-based sensor (like the allegro-micro stuff, etc), which is attached around the negative output wire, rather than having the current electrically pass thru it (like it does with the shunts), it then detect the current via magnetic field and outputs a voltage that you can use an op-amp circuit to tune to match the current limit you really want the BMS to shutdown at.

That sounds nice, but a step up in effort to fit the sensor and op amp circuit inside the enclosure.

That still doesn't change the cell-level LVC protection to make it safer, but at least it helps with overcurrent protection.
Grin got back to me. They said they think it's 2.5V/cell, but don't have a datasheet on hand.
 
harrisonh said:
I had the controller and CA connected. Normally, turning off the battery via the switch, the voltage drops to near 0V in under a second. So seems like something was wrong that it was outputting 22V for a minute.
Yeah, it shouldn't do that--it should rapidly drop to nothing like before. It probqably means the FEts are not fully off, so they are in a resistive state. Taking a while to shutoff means that if the controller's LVC is low enough to let it continue placing a significant load on the battery while the BMS is in that state, then if the resistance of the FET is hgih enough, it'll dissipate a lot of heat. Might not cause a problem, but if there is enough heat it could cause damage.

If the gate voltage on the FETs is not being driven down the same by the overcurrent shutoff as when you use the switch, then that's probably why it isn't shutting off as fast.
 
Back
Top