more complex scenarios + streaming