refactoring preparer deployment
still refactoring DeploymentPreparer