Refactoring - from now on will split to feature branch