rule builder
StateFormatter
refactor adding rules (rule builder and factories) 
and checking expected combinations
rename methods
move and rename classes