Separate timing functions