simplified implementation of new time constructor