Even more refactoring...