diff --git a/planetstack/core/static/planetstack.css b/planetstack/core/static/planetstack.css
index 44d62b4..8fb6e86 100644
--- a/planetstack/core/static/planetstack.css
+++ b/planetstack/core/static/planetstack.css
@@ -496,13 +496,13 @@
 display:none;
 }
 
-.login #content-main form input[type=text]{
+.login #content-main form input[type=text], .requestDialog.ui-widget input{
 width: 94%;
 padding:4px 6px;
 border-radius: 0px;
 height: 30px;
-background-color: #E5E5E5;
-background-image: url('name.png');
+background-color: rgb(250, 255, 189);
+/*background-image: url('name.png');*/
 background-repeat: no-repeat;
 background-position: 95%;
 font-size: 12px;
@@ -671,11 +671,18 @@
 	float: left;
 }
 
-.createAccountLink {
+#request-account-form{
+	display:none;
+}
+
+#requestAccountLink {
 	width: 55%;
 	text-align: right;
 	float: left;
-	
+	padding-left: 21%;
+	cursor: pointer;
+	color: #448CCA;
+	text-decoration: underline;	
 }
 
 .login .btn-info {
@@ -1031,6 +1038,15 @@
  margin-left: 5%;
 }
 
+
+#adv-slice-image-value{
+margin-right: 0.5%;
+}
+
+#adv-network-value {
+margin-right: 0.3%;
+}
+
 #network-dropdown,#adv-network-dropdown,#adv-network-value{
  margin-left: 3.7%;
 }
@@ -1043,16 +1059,16 @@
    margin-left: 2%;
 }
 #adv-dataset-dropdown{
-margin-left: 3%;
+margin-left: 3.7%;
 }
 #advanced-tenant,#basic-tenant,#sliver-btn,#save-btn{
   float:right;
 }
- #delete-slice-btn,#download-details{
+ #delete-slice-btn,#download-details,#add-user-btn{
 	margin-left:1%;
 }
 
-#sliver-btn,#save-btn,#create-slice-btn,#delete-slice-btn,#download-details{
+#sliver-btn,#save-btn,#create-slice-btn,#delete-slice-btn,#add-user-btn,#download-details{
   margin-top:1%;
 }
 
@@ -1138,12 +1154,64 @@
 
 #private-vol{
 margin-right: 15% !important;
-}
-
-.customize_row {
-  display: table;
-}
-.customize_column {
-  display: table-cell;
-  padding: 10px;
-}
+}
+.customize_row {
+  display: table;
+}
+.customize_column {
+  display: table-cell;
+  padding: 10px;
+}
+
+.request-form-row{
+padding:1% 8%;
+}
+
+.requestDialog{
+background-color: white;
+border-radius: 8px;
+width: 30% !important;
+height: 40% !important;
+margin-top: -16%;
+top: -103.703125px !important;
+}
+
+.request-form-row label{
+	float: left;
+}
+
+
+.requestDialog .ui-dialog-buttonset .ui-button{
+border-radius: 0 !important;
+background-color: grey !important;
+font-weight: bold !important;
+font-size: 0.9em; !important
+}
+
+.requestDialog .ui-dialog-titlebar-close{
+float:right;
+}
+
+#request-signup{
+height: 40px !important;
+margin: 0 14%;
+float: left;
+background-color: #448CCA;
+background-image: none;
+width: 70% !important;
+}
+
+.requestDialog .ui-dialog-titlebar{
+border-radius: 0 !important;
+height: 25px;
+padding-top: 2%;
+}
+
+.requestDialog #ui-id-1{
+padding-left: 28%;
+font-size: medium;
+}
+
+#request-site-name{
+	width: 98%;
+}
diff --git a/planetstack/templates/admin/login.html b/planetstack/templates/admin/login.html
index b04f842..ab066dc 100644
--- a/planetstack/templates/admin/login.html
+++ b/planetstack/templates/admin/login.html
@@ -4,8 +4,11 @@
 {% block extrastyle %}{{ block.super }}
 <link rel="stylesheet" type="text/css" href="/static/suit/bootstrap/css/bootstrap.min.css" media="all"/>
 <link rel="stylesheet" type="text/css" href="{% static "planetstack.css" %}" />
+<script src="{% static 'suit/js/jquery-1.9.1.min.js' %}"></script>
+<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
 {% endblock %}
 
+
 {% block bodyclass %}login{% endblock %}
 
 {% block nav-global %}{% endblock %}
@@ -42,22 +45,108 @@
     <input type="hidden" name="this_is_the_login_form" value="1" />
     <input type="hidden" name="next" value="{{ next }}" />
   </div>
-  {% url 'admin_password_reset' as password_reset_url %}
-  {% if password_reset_url %}
-  <div class="password-reset-link">
-    <a href="{{ password_reset_url }}">{% trans 'Forgotten your password or username?' %}</a>
-  </div>
-  {% endif %}
   <div class="submit-row">
     <input type="submit" class="btn btn-info" value="{% trans 'SIGN IN' %}" />
   </div>
-{% url 'django-admindocs-docroot' as docsroot %}
-                  {% if docsroot %}
-<div class="createAccountLink"><a href="{{ docsroot }}">{% trans 'Request a new Account' %}</a></div>
-
-                  {% endif %}
+        <div id="requestAccountLink">{% trans 'Request a new Account' %}</div>
 </form>
+
+<div id="request-account-form" title="Request an Account" style="display: none;">
+	<form>
+		<fieldset>
+			<div class="request-form-row">
+				<label for="request-first-name">First Name</label>
+				<input type="text" name="request-first-name" id="request-first-name">
+			</div>
+			 <div class="request-form-row">
+                                <label for="request-last-name">Last Name</label>
+                                <input type="text" name="request-last-name" id="request-last-name">
+                        </div>
+			 <div class="request-form-row">
+                                <label for="request-email">Email</label>
+                                <input type="text" name="request-email" id="request-email">
+                        </div>
+			 <div class="request-form-row">
+                                <label for="request-site-name">Site</label><br>
+				<select id="request-site-name" name="request-site-name">
+   					 <option>---------</option>
+   					 <option>Stanford</option>
+    					 <option>Washington</option>
+    					 <option>Princeton</option>
+    					 <option>GeorgiaTech</option>
+    					 <option>MaxPlanck</option>
+    					 <option>I2 Atlanta</option>
+    					 <option>I2 Chicago</option>
+    					 <option>I2 Houston</option>
+   					 <option>I2 Kansas City</option>
+    					 <option>I2 Los Angeles</option>
+    					 <option>I2 New York</option>
+    					 <option>I2 Salt Lake City</option>
+    					 <option>I2 Seattle</option>
+    					 <option>I2 Washington DC</option>
+    					 <option>ON.Lab</option>
+    					 <option>I2 Singapore</option>
+    					 <option>Arizona</option>
+				</select>
+                        </div>
+			<div class="submit-row">
+    				<input id ="request-signup" class="btn btn-info" value="SIGN UP">
+  			</div>
+		</fieldset>
+	</form>
+</div>
+</div>
+</div>
+
+
 <script type="text/javascript">
+$(function() {
+	initRequest();
+});
+function initRequest(){
+	$.ajax({
+			url: '/tenantview',
+			dataType: 'json',
+			success: function (data) {
+				var sites = data['sitesToBeRequested'];
+				console.log(sites);
+				for (site in sites){
+					$("#request-site-name").append("<option>" + site + "</option>");
+				}
+			}
+		});
+}
+$("#requestAccountLink").unbind().click(function(){
+	$("#request-account-form").dialog({
+					autoOpen: false,
+					modal: true,
+					dialogClass: "requestDialog",
+				});
+				$("#request-account-form").dialog("open");
+})
+$("#request-signup").unbind().click(function(){
+							$.ajax({
+								url: '/requestaccess/',
+								dataType: 'json',
+								data: {
+									email: $("#request-email").val(),
+									firstname: $("#request-first-name").val(),
+									lastname: $("#request-last-name").val(),
+									site: $("#request-site-name").val(),
+									csrfmiddlewaretoken: "{{ csrf_token }}", // < here 
+									state: "inactive"
+								},
+								async: false,
+								type: 'POST',
+								success: function () {
+									$("#request-account-form").dialog("close");	
+									alert("Your request has been submitted");							
+								},
+								error:function (xhr, textStatus, thrownError){
+         							   alert("Error:", textStatus + " " + xhr.responseText);
+        						        }
+							});
+})
 document.getElementById('id_username').focus()
 </script>
 </div>
