add AbstractAlgorithm and FilterRules classes