setup for tests
setup for tests
validation and refactoring