repo public state - refactoring - part 2
repo public state - refactoring - part 3