// InitSecretBackend returns an interface implementation
 func InitSecretBackend() (SecretBackend, error) {
        backendImpl := &Vault{
-               vaultAddress: smsconfig.SMSConfig.VaultAddress,
+               vaultAddress: smsconfig.SMSConfig.BackendAddress,
                vaultToken:   smsconfig.SMSConfig.VaultToken,
        }
 
 
 
 func TestInitSecretBackend(t *testing.T) {
        smsconfig.SMSConfig = &smsconfig.SMSConfiguration{
-               VaultAddress: "http://localhost:8200",
+               BackendAddress: "http://localhost:8200",
        }
        sec, err := InitSecretBackend()
        // We expect an error to be returned as Init expects
 
 }
 
 func TestInit(t *testing.T) {
-       smsconfig.SMSConfig = &smsconfig.SMSConfiguration{VaultAddress: "http://localhost:8200"}
+       smsconfig.SMSConfig = &smsconfig.SMSConfiguration{BackendAddress: "http://localhost:8200"}
        v.Init()
        if v.vaultClient == nil {
                t.Fatal("Init: Init() failed to create vaultClient")
 
 import (
        "encoding/json"
        "os"
+       smslogger "sms/log"
 )
 
 // SMSConfiguration loads up all the values that are used to configure
        ServerCert string `json:"servercert"`
        ServerKey  string `json:"serverkey"`
 
-       VaultAddress string `json:"vaultaddress"`
-       VaultToken   string `json:"vaulttoken"`
-       DisableTLS   bool   `json:"disable_tls"`
+       BackendAddress            string `json:"smsdbaddress"`
+       VaultToken                string `json:"vaulttoken"`
+       DisableTLS                bool   `json:"disable_tls"`
+       BackendAddressEnvVariable string `json:"smsdburlenv"`
 }
 
 // SMSConfig is the structure that stores the configuration
                if err != nil {
                        return nil, err
                }
+
+               if SMSConfig.BackendAddress == "" && SMSConfig.BackendAddressEnvVariable != "" {
+                       // Get the value from ENV variable
+                       smslogger.WriteInfo("Using Environment Variable: " + SMSConfig.BackendAddressEnvVariable)
+                       SMSConfig.BackendAddress = os.Getenv(SMSConfig.BackendAddressEnvVariable)
+               }
        }
 
        return SMSConfig, nil
 
     "servercert": "auth/server.cert",
     "serverkey":  "auth/server.key",
 
-    "vaultaddress":     "http://localhost:8200",
-    "vaulttoken":       "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+    "smsdbaddress":     "http://localhost:8200",
+    "vaulttoken":       "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+    "smsdburlenv" :     "SMSDB_URL"
 }
 
     "servercert": "testserver.cert",
     "serverkey": "testserver.key",
 
-    "vaultaddress": "http://localhost:8200"
+    "smsdbaddress":     "http://localhost:8200",
+    "vaulttoken":       "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+    "smsdburlenv" :     "SMSDB_URL"
 }