A line at a time...