always reading byte instead  of char.
new function to read a line