More refactoring, about time for a code review