implemented duration