added supoort for different streams