Refactoring necessary