allow custom timeout interval.