Reorder directory structure.
Add unit test.