Feature/some refactoring