Has line ranges that work from the start or end of file.

Also much better error handling.