New implementation of conditional builder
Fixed a few corner cases
Documented basic use cases