Updated Refactored