Continued refactoring core temporal functions