some initial code
Merge https://github.com/sjjh/guidev2