reapply my timer rewrite with a change for PassManager to store