Refactored everything based on the solution...