Code refactoring
Merge branch 'CodeRefactoring'