diff --git a/README b/README
index ce316d37af6e8466dd538e96363f1d4537ebd516..9d8dd712233700a5f22a943ed245135beac1e5bb 100644
--- a/README
+++ b/README
@@ -1,9 +1,8 @@
 ********
 ** How to set up UNL_Elgg:
 ********
-Navigate to the elgg/mod directory in Terminal and sym-link to cas_auth and unl_theme
-	ln -s ../../cas_auth cas_auth
-	ln -s ../../unl_theme unl_theme
+Run the setup.sh script to symlink all the necessary plugins
+	./setup.sh
 Create a database named unl_social
 Import the full_dump.sql file*
 	mysql -u root unl_social < stable_dump.sql
@@ -46,11 +45,4 @@ http://ucommjuhl.unl.edu/UNL_Elgg/elgg, change it!)
 *******
 ** Plugin info
 *******
-
-These are plugins that are included in trunk/UNL_Elgg that must be copied or sym linked to the elgg/mod directory
-
-	flexprofile_mj (doesn't seem to work with a sym link, must be copied. not sure why.)
-	cas_auth
-	unl_theme
-	customindex
-	form
\ No newline at end of file
+Just run the setup.sh script. If any plugins are added, add this to the setup.sh script.
diff --git a/setup.sh b/setup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f6f50c7dcfa7a51ebad0fb332f3b3760fea30e5c
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,23 @@
+# Make a directory for elgg data files outside the root
+mkdir elgg_data
+
+cd elgg/mod
+
+# Our Plugins
+ln -s ../../cas_auth cas_auth
+ln -s ../../customindex customindex
+ln -s ../../flexprofile_mj flexprofile_mj
+ln -s ../../unl_theme unl_theme
+ln -s ../../plugins/flexfile flexfile
+ln -s ../../plugins/flexgroupprofile flexgroupprofile
+ln -s ../../plugins/flexprofile flexprofile
+ln -s ../../plugins/form form
+
+# Core Plugins
+ln -s ../../core_plugins/groups groups
+ln -s ../../core_plugins/notifications notifications
+ln -s ../../core_plugins/profile profile
+ln -s ../../core_plugins/reportedcontent reportedcontent
+ln -s ../../core_plugins/riverdashboard riverdashboard
+ln -s ../../core_plugins/thewire thewire
+