More refactored