add duration and position methods