by line by line