Added Filter package, refactored Agent