Refactoring + Cleanup