Code refactory with unit test.
Renamed files and updated the tests.
Updated the version number.
Merge pull request #1 from zsong/refactory

Refactory