initial addDuration pass; needs lots more testing