Revert "Merge pull request #161 from xiaowei4895/master"

This reverts commit 66a8d64e6021ea958a3dc674f72f53b134b81f13, reversing
changes made to 127ab38946403acaeaf989853d4d17fe8273e2b9.
Revert "Revert "Merge pull request #161 from xiaowei4895/master""

This reverts commit 2daa10231dff409a688f2527b02226e3b6f2729b.