Merge pull request from easylogic/develop refactoring many structure