more flexible time parsing