diff --git a/core/kg/cmd/commands/root.go b/core/kg/cmd/commands/root.go
index 68831c3..812cdf1 100644
--- a/core/kg/cmd/commands/root.go
+++ b/core/kg/cmd/commands/root.go
@@ -16,7 +16,7 @@
 }
 
 // rootCmd is a command to run the server.
-var rootCmd = &cobra.Command{
+var rootCmd = &Command{
 	Use:   "server",
 	Short: "An example of the basic server",
 	RunE:  serverCmdF,
diff --git a/core/kg/log/log.go b/core/kg/log/log.go
index 84a9987..71686a7 100644
--- a/core/kg/log/log.go
+++ b/core/kg/log/log.go
@@ -50,14 +50,12 @@
 // NewLogger creates new logger
 func NewLogger(config *LoggerConfiguration) *Logger {
 	cores := []zapcore.Core{}
-	logger := &Logger{
-		consoleLevel: zap.NewAtomicLevelAt(getZapLevel(config.ConsoleLevel)),
-		fileLevel:    zap.NewAtomicLevelAt(getZapLevel(config.FileLevel)),
-	}
+	consoleLevel := zap.NewAtomicLevelAt(getZapLevel(config.ConsoleLevel))
+	fileLevel := zap.NewAtomicLevelAt(getZapLevel(config.FileLevel))
 
 	if config.EnableConsole {
 		writer := zapcore.Lock(os.Stderr)
-		core := zapcore.NewCore(makeEncoder(config.ConsoleJSON), writer, logger.consoleLevel)
+		core := zapcore.NewCore(makeEncoder(config.ConsoleJSON), writer, consoleLevel)
 		cores = append(cores, core)
 	}
 
@@ -67,17 +65,21 @@
 			MaxSize:  100,
 			Compress: true,
 		})
-		core := zapcore.NewCore(makeEncoder(config.FileJSON), writer, logger.fileLevel)
+		core := zapcore.NewCore(makeEncoder(config.FileJSON), writer, fileLevel)
 		cores = append(cores, core)
 	}
 
 	combinedCore := zapcore.NewTee(cores...)
 
-	logger.zap = zap.New(combinedCore,
+	zap := zap.New(combinedCore,
 		zap.AddCaller(),
 	)
 
-	return logger
+	return &Logger{
+		consoleLevel: consoleLevel,
+		fileLevel:    fileLevel,
+		zap:          zap,
+	}
 }
 
 func (l *Logger) Debug(message string, fields ...Field) {
diff --git a/core/kg/server/server.go b/core/kg/server/server.go
index d39d69d..12c2905 100644
--- a/core/kg/server/server.go
+++ b/core/kg/server/server.go
@@ -25,7 +25,7 @@
 	}
 
 	pwd, _ := os.Getwd()
-	a.Log.Info("Printing current working", log.String("directory", pwd))
+	a.Log.Info("Current working", log.String("directory", pwd))
 	return a, nil
 }
 
@@ -53,6 +53,6 @@
 
 // Shutdown method shuts server down
 func (a *Server) Shutdown() {
-	a.Log.Info("Stoping Server...")
+	a.Log.Info("Stopping Server...")
 	a.srv.GracefulStop()
 }
