added time functions