duplication refactors