don't reset timer when decr on 0
implement timed momentum