finalizing preferred refactoring