time-utils extracted into separate module