off by 1 bug in duration calculation