diff --git a/cmd/get_imports.go b/cmd/get_imports.go
index 050a9d2..8eafe64 100644
--- a/cmd/get_imports.go
+++ b/cmd/get_imports.go
@@ -48,18 +48,9 @@
 	names := p.Get("packages", []string{}).([]string)
 	conf := p.Get("conf", nil).(*cfg.Config)
 	insecure := p.Get("insecure", false).(bool)
-	home := p.Get("home", "").(string)
-	cache := p.Get("cache", false).(bool)
-	cacheGopath := p.Get("cacheGopath", false).(bool)
-	useGopath := p.Get("useGopath", false).(bool)
 
 	Info("Preparing to install %d package.", len(names))
 
-	cwd, err := VendorPath(c)
-	if err != nil {
-		return nil, err
-	}
-
 	deps := []*cfg.Dependency{}
 	for _, name := range names {
 		var version string
@@ -84,13 +75,6 @@
 			continue
 		}
 
-		dest := path.Join(cwd, root)
-
-		if err != nil {
-			Error("Could not construct repo for %q: %s", name, err)
-			return false, err
-		}
-
 		dep := &cfg.Dependency{
 			Name: root,
 		}
@@ -109,8 +93,11 @@
 		if len(subpkg) > 0 && subpkg != "/" {
 			dep.Subpackages = []string{subpkg}
 		}
-		if err := VcsGet(dep, dest, home, cache, cacheGopath, useGopath); err != nil {
-			return dep, err
+
+		if dep.Reference != "" {
+			Info("Importing %s with the version %s", dep.Name, dep.Reference)
+		} else {
+			Info("Importing %s", dep.Name)
 		}
 
 		conf.Imports = append(conf.Imports, dep)
@@ -118,6 +105,8 @@
 		deps = append(deps, dep)
 
 	}
+
+	Info("Walking the dependency tree to calculate versions")
 	return deps, nil
 }
 
diff --git a/glide.go b/glide.go
index 04bd3e7..5a07f85 100644
--- a/glide.go
+++ b/glide.go
@@ -165,16 +165,20 @@
 	`,
 			Flags: []cli.Flag{
 				cli.BoolFlag{
-					Name:  "no-recursive",
+					Name:  "insecure",
+					Usage: "Use http:// rather than https:// to retrieve pacakges.",
+				},
+				cli.BoolFlag{
+					Name:  "no-recursive, quick",
 					Usage: "Disable updating dependencies' dependencies.",
 				},
 				cli.BoolFlag{
-					Name:  "import",
-					Usage: "When fetching dependencies, convert Godeps (GPM, Godep) to glide.yaml and pull dependencies",
+					Name:  "force",
+					Usage: "If there was a change in the repo or VCS switch to new one. Warning, changes will be lost.",
 				},
 				cli.BoolFlag{
-					Name:  "insecure",
-					Usage: "Use http:// rather than https:// to retrieve pacakges.",
+					Name:  "update-vendored, u",
+					Usage: "Update vendored packages (without local VCS repo). Warning, changes will be lost.",
 				},
 				cli.BoolFlag{
 					Name:  "cache",
@@ -194,6 +198,7 @@
 					fmt.Println("Oops! Package name is required.")
 					os.Exit(1)
 				}
+				cxt.Put("forceUpdate", c.Bool("force"))
 				cxt.Put("packages", []string(c.Args()))
 				cxt.Put("skipFlatten", !c.Bool("no-recursive"))
 				cxt.Put("insecure", c.Bool("insecure"))
@@ -206,6 +211,7 @@
 					cxt.Put("importGPM", true)
 					cxt.Put("importGb", true)
 				}
+				cxt.Put("updateVendoredDeps", c.Bool("update-vendored"))
 				setupHandler(c, "get", cxt, router)
 			},
 		},
@@ -530,14 +536,21 @@
 		Includes("@startup").
 		Includes("@ready").
 		Does(cmd.GetAll, "goget").
-		Using("filename").From("cxt:yaml").
 		Using("packages").From("cxt:packages").
 		Using("conf").From("cxt:cfg").
 		Using("insecure").From("cxt:insecure").
+		Does(cmd.VendoredSetup, "cfg").
+		Using("conf").From("cxt:cfg").
+		Using("update").From("cxt:updateVendoredDeps").
+		Does(cmd.UpdateImports, "dependencies").
+		Using("conf").From("cxt:cfg").
+		Using("force").From("cxt:forceUpdate").
+		//Using("packages").From("cxt:packages").
 		Using("home").From("cxt:home").
 		Using("cache").From("cxt:useCache").
 		Using("cacheGopath").From("cxt:cacheGopath").
 		Using("useGopath").From("cxt:useGopath").
+		Does(cmd.SetReference, "version").Using("conf").From("cxt:cfg").
 		Does(cmd.Flatten, "flatten").Using("conf").From("cxt:cfg").
 		Using("packages").From("cxt:packages").
 		Using("force").From("cxt:forceUpdate").
@@ -545,6 +558,9 @@
 		Using("cache").From("cxt:useCache").
 		Using("cacheGopath").From("cxt:cacheGopath").
 		Using("useGopath").From("cxt:useGopath").
+		Does(cmd.VendoredCleanUp, "_").
+		Using("conf").From("cxt:flattened").
+		Using("update").From("cxt:updateVendoredDeps").
 		Does(cmd.WriteYaml, "out").
 		Using("conf").From("cxt:cfg").
 		Using("filename").WithDefault("glide.yaml").From("cxt:yaml").
diff --git a/glide.lock b/glide.lock
index d78601e..e87b2c0 100644
--- a/glide.lock
+++ b/glide.lock
@@ -1,5 +1,5 @@
 hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-updated: 2015-12-10T10:46:38.137326757-05:00
+updated: 2015-12-10T12:31:08.864762919-05:00
 imports:
 - name: github.com/codegangsta/cli
   version: 0302d3914d2a6ad61404584cdae6e6dbc9c03599
