refactor as per SI2
add comparators
add test for comparisons
TDD flags