Even more refactorings...