better open stream differentiation