some project refactoring
Merge origin/master