Refactoring.
Refactoring.
Add comments.