add duration call back