refactoring install generator