refactor for new timeout technique