complete some time functions