Make some refactoring
Merge branch 'refactoring'