more accurate duration