added firmer timing, still not accurate