adding predicates, cleaning count logic
cleanup work
testing work