fixed phpdoc
refactored (plenty)
extracted from duplication having/where
removed builder alias