added customizable waterfall with tests