refactored install code so it doesn't have to use asserts