refactoring
refactoring v2
merged master branch manually
refactoring v3