More shift to functional style
Copyright update
WOrking on predicates
Merged in master