diff --git a/core/installer/cmd/env_manager.go b/core/installer/cmd/env_manager.go
index a77061a..8e21c67 100644
--- a/core/installer/cmd/env_manager.go
+++ b/core/installer/cmd/env_manager.go
@@ -3,7 +3,6 @@
 import (
 	"log"
 	"net/netip"
-	"os"
 
 	"github.com/spf13/cobra"
 
@@ -52,7 +51,7 @@
 }
 
 func envManagerCmdRun(cmd *cobra.Command, args []string) error {
-	sshKey, err := os.ReadFile(envManagerFlags.sshKey)
+	sshKey, err := installer.NewSSHKeyPair(envManagerFlags.sshKey)
 	if err != nil {
 		return err
 	}
@@ -60,15 +59,17 @@
 	if err != nil {
 		return err
 	}
-	ss, err := soft.NewClient(repoAddr, sshKey, log.Default())
+	ss, err := soft.NewClient(repoAddr, sshKey.RawPrivateKey(), log.Default())
 	if err != nil {
 		return err
 	}
+	log.Printf("Created Soft Serve client\n")
 	repo, err := ss.GetRepo(envManagerFlags.repoName)
 	if err != nil {
 		return err
 	}
-	repoIO := installer.NewRepoIO(repo, ss.Signer)
+	log.Printf("Cloned repo: %s\n", envManagerFlags.repoName)
+	repoIO := installer.NewRepoIO(repo, sshKey.Signer())
 	nsCreator, err := newNSCreator()
 	if err != nil {
 		return err
@@ -79,6 +80,7 @@
 		repoIO,
 		nsCreator,
 	)
+	log.Printf("Starting server\n")
 	s.Start()
 	return nil
 }
