added more timing functions