diff --git a/planning/poll2.php b/planning/poll2.php
new file mode 100755
index 0000000..84e5002
--- /dev/null
+++ b/planning/poll2.php
@@ -0,0 +1,93 @@
+<?php 
+//ini_set("display_errors", "true");
+//error_reporting (E_ALL);
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");     $App   = new App();  $Nav   = new Nav();  $Menu  = new Menu();
+
+       #*****************************************************************************
+       #
+       # poll.php
+       #
+       # Author:                   Chris Aniszczyk
+       # Date:                     2014-01-28
+       #
+       # Description: Quick poll to get input for Luna +1 Sim. Release name. 
+       #
+       #
+       #****************************************************************************
+       
+       #
+       # Begin: page-specific settings.  Change these. 
+       $pageTitle           = "Community Poll Vote";
+       $pageKeywords = "Eclipse Simultaneous Release 2016 (Vote 2)";
+       $pageAuthor          = "Chris Aniszczyk";
+       $theme = "solstice";
+
+	   # Polls are good for 3 months!
+	   $App->usePolls();
+
+	   # Poll 1
+	   $Poll = new Poll(12, "Vote: What is your favorite name for the 2016 Eclipse Simultaneous Release?");
+	   $Poll->addOption(1, "N"); 
+           $Poll->addOption(2, "Namaste");
+	   $Poll->addOption(3, "Nandini");
+	   $Poll->addOption(4, "Narwhal"); 
+	   $Poll->addOption(5, "Narvi");
+	   $Poll->addOption(6, "Neon");
+	   $Poll->addOption(7, "Neumond");
+	   $Poll->addOption(8, "Nickel");
+	   $Poll->addOption(9, "Nirvana");
+           $Poll->addOption(10, "Noir");
+           $Poll->addOption(11, "Nomad");
+           $Poll->addOption(12, "Number 2015");
+
+	   # $Poll->noGraph();  # uncomment to disable bar graph
+	   $pollHTML = $Poll->getHTML();
+
+	   $Poll->requireLogin(); # no anonymous votes
+
+	       # Paste your HTML content between the markers!   
+	ob_start();
+	?>            
+
+
+	<div id="maincontent" style="width: 90%; padding: 5%;">
+
+	              <h1><?= $pageTitle ?></h1>
+	                     <h2>Help decide the name for the 2016 Eclipse Simultaneous Release!</h2>
+	
+	                     <p>There will be an Eclipse Simultaneous Release on the fourth Wednesday of
+	                     June, 2016. But what to call it? Please vote, for your favorite name for the 2016
+	                     release. Remember, the simultaneous release name is an informal <i>marketing name</i>. It
+	                     should be recognizable, pronounceable, relatively distinct and not obvious
+	                     to confuse with other software or trademarks. Be sure to
+	                     consider how it sounds in context, such as...</p>
+						
+						<p>
+	                      <i>"Hey, go download the <b>Eclipse xyz Release</b> and see all the cool stuff in there!"</i>
+						</p>
+
+	                     <p>The following list was arrived at with input from the community (see
+	                     <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=453927">bug
+	                     453927</a>) and discussions inside the Eclipse Planning Council.</p>
+
+                                    <div style="padding: 5px; margin-left: 1%; margin-right: 1%;">
+                                    
+<?= $pollHTML ?>
+				    </div>
+<p>Thanks for your vote and your help with Eclipse! The poll is closed and names are under review.</p>  
+
+	                     <p><b>Note: The Planning Council reserves the right to make the final decision, in case some
+	                     popularly voted item is later found to be unsuitable for some reason.</b><p>
+
+	                     <p>Current time: <?php echo date("d/m/y : H:i (T)", time()); ?></p>
+
+	</div>
+
+	<?php
+	       $html = ob_get_contents();
+	       ob_end_clean();
+
+	       # Generate the web page
+	       $App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+	?>
+
