using pipe builders - single responsibility
builders refactored
major refactoring underway :)
more tests