update time functions