diff --git a/scripts/add_subtree.sh b/scripts/add_subtree.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2c19081b95d4c2ece633d09ac052b5f5e1f04165
--- /dev/null
+++ b/scripts/add_subtree.sh
@@ -0,0 +1,35 @@
+#!/bin/bash - 
+#===============================================================================
+#
+#          FILE: add_subtree.sh
+# 
+#         USAGE: ./add_subtree.sh 
+# 
+#   DESCRIPTION: 
+# 
+#       OPTIONS: ---
+#  REQUIREMENTS: ---
+#          BUGS: ---
+#         NOTES: ---
+#        AUTHOR: Dilawar Singh (), dilawars@ncbs.res.in
+#  ORGANIZATION: NCBS Bangalore
+#       CREATED: 05/18/2016 01:11:59 PM
+#      REVISION:  ---
+#===============================================================================
+
+set -o nounset                              # Treat unset variables as an error
+set -e
+set -x
+
+if [[ `pwd` == *"/moose" ]]; then
+
+    git subtree add --prefix moose-core \
+        https://github.com/BhallaLab/moose-core master --squash
+    git subtree add --prefix moose-examples \
+        https://github.com/BhallaLab/moose-examples master --squash 
+    git subtree add --prefix moose-gui \
+        https://github.com/BhallaLab/moose-gui master --squash
+
+else
+    echo "Run this script from top-level git directory."
+fi
diff --git a/scripts/pull_subtree.sh b/scripts/pull_subtree.sh
index 30c9f71aaf4aace5514e2f496cebff7e50e38d53..4836384b41cf659d537b3f2c357f6bd66419f410 100755
--- a/scripts/pull_subtree.sh
+++ b/scripts/pull_subtree.sh
@@ -23,11 +23,11 @@ set -x
 
 if [[ `pwd` == *"/moose" ]]; then
 
-    git subtree add --prefix moose-core \
+    git subtree pull --prefix moose-core \
         https://github.com/BhallaLab/moose-core master --squash
-    git subtree add --prefix moose-examples \
+    git subtree pull --prefix moose-examples \
         https://github.com/BhallaLab/moose-examples master --squash 
-    git subtree add --prefix moose-gui \
+    git subtree pull --prefix moose-gui \
         https://github.com/BhallaLab/moose-gui master --squash
 
 else
diff --git a/scripts/update-repository b/scripts/update-repository
deleted file mode 100755
index 3447029a891fb03b0c8c9c2d6e9d0f8530632e63..0000000000000000000000000000000000000000
--- a/scripts/update-repository
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-# This script updates the repository and its subrepositories, recursively.
-
-git submodule update --init
-git submodule foreach '[ "$path" = "moogli" ] && branch=geometry || branch=master; git pull origin $branch; git checkout $branch; git pull'