I added a new context manager for timing functions