More refactoring...
More refactor