Refactored

Refactored