Add timeout feature