diff --git a/.gitignore b/.gitignore
index 378eac25d311703f3f2cd456d8036da525cd0366..bef743e2732c14387e4fbd916cb5f200923cff1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 build
+stage
diff --git a/cook.sh b/cook.sh
index c6f91249ff1b79a3a46a7074fddb5de65dc28f88..3b91ec647abf07b7153943170c8645bd49ba7cb8 100755
--- a/cook.sh
+++ b/cook.sh
@@ -11,45 +11,43 @@ if [ -n "$1" ]
 then
     if [ -d "recipes/$1" ]
     then
-        pushd "recipes/$1"
+        cd "recipes/$1"
         source recipe.sh
         for arg in "${@:2}"
         do
             case "$arg" in
                 build)
-                    pushd build
+                    cd build
                     xargo build --target "$TARGET" $CARGOFLAGS
-                    popd
                     ;;
                 clean)
-                    pushd build
+                    cd build
                     xargo clean
-                    popd
-                    ;;
-                install)
-                    mkdir -p root/bin
-                    pushd build
-                    #TODO xargo install --root "../root" $CARGOFLAGS
-                    cp -v $(find target/x86_64-unknown-redox/debug/ -maxdepth 1 -type f ! -name "*.*") ../root/bin
-                    popd
                     ;;
                 fetch)
                     git clone --recursive "$GIT" build
                     ;;
+                stage)
+                    mkdir -p stage/bin
+                    cd build
+                    #TODO xargo install --root "../stage" $CARGOFLAGS
+                    cp -v $(find target/x86_64-unknown-redox/debug/ -maxdepth 1 -type f ! -name "*.*") ../stage/bin
+                    ;;
+                unstage)
+                    rm -rf stage
+                    ;;
                 unfetch)
                     rm -rf build
                     ;;
                 update)
-                    pushd build
+                    cd build
                     xargo update
-                    popd
                     ;;
                 *)
                     echo "$0 {package} {build|clean|fetch|update}"
                     ;;
             esac
         done
-        popd
     else
         echo "$0: recipe '$1' not found"
     fi
diff --git a/recipes/smith/root/.crates.toml b/recipes/smith/root/.crates.toml
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/recipes/smith/root/bin/smith b/recipes/smith/root/bin/smith
deleted file mode 100755
index fc57dbff381132614de21e77f0e3edba9e705392..0000000000000000000000000000000000000000
Binary files a/recipes/smith/root/bin/smith and /dev/null differ