refactoring install