port it (not test, maybe not finish)
Merge branch 'master' of https://github.com/yilang2007lw/greeter
Merge branch 'master' of https://github.com/yilang2007lw/greeter