Continuation of Issue #74.
Filtering passed its unit test.
I restructured that module a lot, because I got tired of all that redundant
code.