nil
nil
Refactored before cleanup
Refactored and cleaned up