Separate prep, install and init