practice timeout and offset()