Add test case.
Add comments.
Remove trash.
Refactoring.