running unit test
fully working integration tests
refactoring