Refactor code and structure.
Add some files.