Reader: uses Scanner, and keep track of lines.