diff --git a/.gitignore b/.gitignore
index fcbdfe803ec0072eda408b260a2da3b8130129e9..db3980277451a3719ebf87be6ebd642fdea3ba84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
+cpu.prof # ipfs can generate profiling dump files
+
 *.swp
 .ipfsconfig
 *.out
diff --git a/cmd/ipfs/ipfs.go b/cmd/ipfs/ipfs.go
index e3d3629135d1b76c405cdf38b563c1606ea5b372..f2a75c73a6ead18b811e850ee42a0f73473fa945 100644
--- a/cmd/ipfs/ipfs.go
+++ b/cmd/ipfs/ipfs.go
@@ -67,7 +67,8 @@ var log = u.Logger("cmd/ipfs")
 func init() {
 	config, err := config.PathRoot()
 	if err != nil {
-		config = ""
+		u.POut("Failure initializing the default Config Directory: ", err)
+		os.Exit(1)
 	}
 	CmdIpfs.Flag.String("c", config, "specify config directory")
 }
diff --git a/config/config.go b/config/config.go
index 5acc23c4d8476743a051024e1594ce49b855933f..5ddc6bc2c56f1f516b159f74641d672fc7dc96d5 100644
--- a/config/config.go
+++ b/config/config.go
@@ -45,12 +45,18 @@ func (bp *BootstrapPeer) String() string {
 	return bp.Address + "/" + bp.PeerID
 }
 
+// Updates regulates checking and downloading for application's most recent version
+type Updates struct {
+	Check string // "ignore" for do not check, "warn" and "error" for reacting when obsolete
+}
+
 // Config is used to load IPFS config files.
 type Config struct {
 	Identity  Identity         // local node's peer identity
 	Datastore Datastore        // local node's storage
 	Addresses Addresses        // local node's addresses
 	Mounts    Mounts           // local node's mount points
+	Updates   Updates          // local node's version management
 	Bootstrap []*BootstrapPeer // local nodes's bootstrap peers
 }
 
diff --git a/cpu.prof b/cpu.prof
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391