reorganize and add new tests
Merge pull request #1 from no-reply/master

reorganize and add new tests