Merge pull request #2 from yij/feature/refactoring-codes

refactor name space
make code looks comfortable
rename surface holder name
fix entry class
remove non-track files
Merge branch 'develop'