Refactored
Added TODO comments