Refactored and commented project.