refactoring & cleaning-up