Did refactoring.
Merge branch 'refactoring'