read lineby line