Cleanup project.
Some refactoring.
Some refactoring.
Some refactoring.
Remove unused code.
Some refactoring.