Merge pull request #19 from syhc/master

Refactoring