Some refactor.
Merge branch 'dev'