FIR refactoring