removed timeout callback and replaced it with hold callback