Moved install function into its own file