added text-based durations parsing