implement signal processing bricks, inspired by Elm