All kinds of refactoring...