Improved project structure and added comments.