Further refactoring requested