diff --git a/plugins.sh b/plugins.sh
index f052d98..47e5792 100755
--- a/plugins.sh
+++ b/plugins.sh
@@ -7,22 +7,118 @@
 # COPY plugins.txt /plugins.txt
 # RUN /usr/local/bin/plugins.sh /plugins.txt
 #
+# Note: Plugins already installed are skipped
+#
 
 set -e
 
+if [ -z "$1" ]
+then
+	echo "
+USAGE: 
+  Parse a support-core plugin -style txt file as specification for jenkins plugins to be installed
+  in the reference directory, so user can define a derived Docker image with just :
+ 
+  FROM jenkins
+  COPY plugins.txt /plugins.txt
+  RUN /usr/local/bin/plugins.sh /plugins.txt
+ 
+  Note: Plugins already installed are skipped
+ 
+"
+	exit 1
+else
+	JENKINS_INPUT_JOB_LIST=$1
+	if [ ! -f $JENKINS_INPUT_JOB_LIST ]
+	then
+		echo "ERROR File not found: $JENKINS_INPUT_JOB_LIST"
+		exit 1
+	fi
+fi
+
+# the war includes a # of plugins, to make the build efficient filter out 
+# the plugins so we dont install 2x - there about 17!
+if [ -d $JENKINS_HOME ]
+then
+	TEMP_ALREADY_INSTALLED=$JENKINS_HOME/preinstalled.plugins.$$.txt
+else
+	echo "ERROR $JENKINS_HOME not found"
+	exit 1
+fi
+
+JENKINS_PLUGINS_DIR=/var/jenkins_home/plugins
+if [ -d $JENKINS_PLUGINS_DIR ]
+then
+	echo "Analyzing: $JENKINS_PLUGINS_DIR"
+	for i in `ls -pd1 $JENKINS_PLUGINS_DIR/*|egrep '\/$'`
+	do
+		JENKINS_PLUGIN=`basename $i`
+		JENKINS_PLUGIN_VER=`egrep -i Plugin-Version "$i/META-INF/MANIFEST.MF"|cut -d\: -f2|sed 's/ //'`
+		echo "$JENKINS_PLUGIN:$JENKINS_PLUGIN_VER"
+	done > $TEMP_ALREADY_INSTALLED
+else
+	JENKINS_WAR=/usr/share/jenkins/jenkins.war
+	if [ -f $JENKINS_WAR ]
+	then
+		echo "Analyzing war: $JENKINS_WAR"
+		TEMP_PLUGIN_DIR=/tmp/plugintemp.$$
+		for i in `jar tf $JENKINS_WAR|egrep 'plugins'|egrep -v '\/$'|sort`
+		do 
+			rm -fr $TEMP_PLUGIN_DIR
+			mkdir -p $TEMP_PLUGIN_DIR
+			PLUGIN=`basename $i|cut -f1 -d'.'`
+			(cd $TEMP_PLUGIN_DIR;jar xf $JENKINS_WAR "$i";jar xvf $TEMP_PLUGIN_DIR/$i META-INF/MANIFEST.MF >/dev/null 2>&1)
+			VER=`egrep -i Plugin-Version "$TEMP_PLUGIN_DIR/META-INF/MANIFEST.MF"|cut -d\: -f2|sed 's/ //'`
+			echo "$PLUGIN:$VER"
+		done > $TEMP_ALREADY_INSTALLED
+		rm -fr $TEMP_PLUGIN_DIR
+	else
+		rm -f $TEMP_ALREADY_INSTALLED	
+		echo "ERROR file not found: $JENKINS_WAR"
+		exit 1
+	fi
+fi
+
 REF=/usr/share/jenkins/ref/plugins
 mkdir -p $REF
-
+COUNT_PLUGINS_INSTALLED=0
 while read spec || [ -n "$spec" ]; do
+
     plugin=(${spec//:/ });
     [[ ${plugin[0]} =~ ^# ]] && continue
     [[ ${plugin[0]} =~ ^\s*$ ]] && continue
     [[ -z ${plugin[1]} ]] && plugin[1]="latest"
-    echo "Downloading ${plugin[0]}:${plugin[1]}"
 
     if [ -z "$JENKINS_UC_DOWNLOAD" ]; then
       JENKINS_UC_DOWNLOAD=$JENKINS_UC/download
     fi
-    curl --retry 3 --retry-delay 5 -sSL -f ${JENKINS_UC_DOWNLOAD}/plugins/${plugin[0]}/${plugin[1]}/${plugin[0]}.hpi -o $REF/${plugin[0]}.jpi
-    unzip -qqt $REF/${plugin[0]}.jpi
-done  < $1
+
+    if ! grep -q "${plugin[0]}:${plugin[1]}" $TEMP_ALREADY_INSTALLED 
+    then
+    	echo "Downloading ${plugin[0]}:${plugin[1]}"
+        curl --retry 3 --retry-delay 5 -sSL -f ${JENKINS_UC_DOWNLOAD}/plugins/${plugin[0]}/${plugin[1]}/${plugin[0]}.hpi -o $REF/${plugin[0]}.jpi
+        unzip -qqt $REF/${plugin[0]}.jpi
+	COUNT_PLUGINS_INSTALLED=`expr $COUNT_PLUGINS_INSTALLED + 1`
+    else
+    	echo "  ... skipping already installed:  ${plugin[0]}:${plugin[1]}"
+    fi
+done  < $JENKINS_INPUT_JOB_LIST
+
+echo "---------------------------------------------------"
+if [ $COUNT_PLUGINS_INSTALLED -gt 0 ]
+then
+	echo "INFO: Successfully installed $COUNT_PLUGINS_INSTALLED plugins."
+
+	if [ -d $JENKINS_PLUGINS_DIR ]
+	then
+		echo "INFO: Please restart the container for changes to take effect!"
+	fi
+else
+	echo "INFO: No changes, all plugins previously installed."
+
+fi
+echo "---------------------------------------------------"
+
+#cleanup
+rm $TEMP_ALREADY_INSTALLED
+exit 0
