support timeout behaviour