some instrumentation for timeing