custom revision
support scanning on a line-by-line basis