enhanced timeout