Refactoring & Cleanup