Simplify by using FilteredIterator
Add scanner class w/ callbacks
Simplify code by using scanner
Merge scanner calls