Refactored install process