add getDuration
update