pipe read ?