FIR implemented but unpolished and untested