diff --git a/internal/pkg/impl/ouput.go b/internal/pkg/impl/ouput.go
index d6943d0..0cf5172 100644
--- a/internal/pkg/impl/ouput.go
+++ b/internal/pkg/impl/ouput.go
@@ -39,7 +39,7 @@
 		chassisMap := models.GetChassisMap()
 		if settings.GetMongo() {
 			clientOptions := options.Client()
-			creds := options.Credential{AuthMechanism: "SCRAM-SHA-256", AuthSource: "AbstractOLT", Username: "seba", Password: "seba"}
+			creds := options.Credential{AuthMechanism: "SCRAM-SHA-256", AuthSource: "AbstractOLT", Username: settings.GetMongoUser(), Password: settings.GetMongoPassword()}
 			clientOptions.SetAuth(creds)
 
 			client, err := mongo.NewClientWithOptions(settings.GetMongodb(), clientOptions)
diff --git a/internal/pkg/impl/xosuser.go b/internal/pkg/impl/xosuser.go
index 77a9367..c7537d4 100644
--- a/internal/pkg/impl/xosuser.go
+++ b/internal/pkg/impl/xosuser.go
@@ -59,6 +59,9 @@
 	if settings.GetDummy() {
 		return true
 	}
+	if settings.GetGrpc() {
+		return true
+	}
 	var dummyYaml = `
 tosca_definitions_version: tosca_simple_yaml_1_0
 imports:
diff --git a/internal/pkg/settings/Settings.go b/internal/pkg/settings/Settings.go
index 6df5eaa..2dcfe5e 100644
--- a/internal/pkg/settings/Settings.go
+++ b/internal/pkg/settings/Settings.go
@@ -21,6 +21,8 @@
 var mongo = false
 var grpc = true
 var mongodb = ""
+var mongoUser = ""
+var mongoPasswd = ""
 
 /*
 SetDebug - sets debug setting
@@ -78,6 +80,34 @@
 }
 
 /*
+SetMongoUser - sets the connection string for mongo db used for backups
+*/
+func SetMongoUser(user string) {
+	mongoUser = user
+}
+
+/*
+GetMongoUser - returns the connection string used for connecting to mongo db
+*/
+func GetMongoUser() string {
+	return mongoUser
+}
+
+/*
+SetMongoPassword - sets the connection string for mongo db used for backups
+*/
+func SetMongoPassword(password string) {
+	mongoPasswd = password
+}
+
+/*
+GetMongoPassword - returns the connection string used for connecting to mongo db
+*/
+func GetMongoPassword() string {
+	return mongoPasswd
+}
+
+/*
 SetGrpc - sets useGrpc mode
 */
 func SetGrpc(useGrpc bool) {
