Fix bugs, add unit tests, add benchmark.
Improve many things.
Merge pull request #2 from szszss/develop

0.1 Test Build