Filterwork

This is as close to done as I can get it without having someone specifically point out a place where there's an error or they want a wider range of input.