diff --git a/helios/view_utils.py b/helios/view_utils.py
index 3e3fb5a81461e0616af9b9ac2b937b2196071924..26da7046c50d1f6c8d62e256cd67175f76cf141f 100644
--- a/helios/view_utils.py
+++ b/helios/view_utils.py
@@ -4,22 +4,16 @@ Utilities for all views
 Ben Adida (12-30-2008)
 """
 
-from django.template import Context, Template, loader
-from django.http import HttpResponse, Http404
+from django.conf import settings
+from django.http import HttpResponse
 from django.shortcuts import render_to_response
-
-import utils
-
-from helios import datatypes
-
+from django.template import loader
 # nicely update the wrapper function
 from functools import update_wrapper
 
-from helios_auth.security import get_user
-
 import helios
-
-from django.conf import settings
+import utils
+from helios_auth.security import get_user
 
 ##
 ## BASICS
@@ -33,14 +27,14 @@ FAILURE = HttpResponse("FAILURE")
 ##
 ## template abstraction
 ##
-def prepare_vars(request, vars):
-  vars_with_user = vars.copy()
+def prepare_vars(request, values):
+  vars_with_user = values.copy() if values is not None else {}
   vars_with_user['user'] = get_user(request)
-  
+
   # csrf protection
   if request.session.has_key('csrf_token'):
     vars_with_user['csrf_token'] = request.session['csrf_token']
-    
+
   vars_with_user['utils'] = utils
   vars_with_user['settings'] = settings
   vars_with_user['HELIOS_STATIC'] = '/static/helios/helios'
@@ -50,32 +44,32 @@ def prepare_vars(request, vars):
 
   return vars_with_user
 
-def render_template(request, template_name, vars = {}, include_user=True):
-  t = loader.get_template(template_name + '.html')
-  
-  vars_with_user = prepare_vars(request, vars)
-  
+
+def render_template(request, template_name, values = None, include_user=True):
+  vars_with_user = prepare_vars(request, values)
+
   if not include_user:
     del vars_with_user['user']
-  
+
   return render_to_response('helios/templates/%s.html' % template_name, vars_with_user)
-  
-def render_template_raw(request, template_name, vars={}):
+
+
+def render_template_raw(request, template_name, values=None):
   t = loader.get_template(template_name)
-  
+
   # if there's a request, prep the vars, otherwise can't do it.
   if request:
-    full_vars = prepare_vars(request, vars)
+    full_vars = prepare_vars(request, values)
   else:
-    full_vars = vars
+    full_vars = values or {}
 
-  c = Context(full_vars)  
-  return t.render(c)
+  return t.render(context=full_vars, request=request)
 
 
 def render_json(json_txt):
   return HttpResponse(json_txt, "application/json")
 
+
 # decorator
 def return_json(func):
     """
@@ -92,4 +86,3 @@ def return_json(func):
         raise e
 
     return update_wrapper(convert_to_json,func)
-    
diff --git a/helios_auth/view_utils.py b/helios_auth/view_utils.py
index 1355ba450b75ff40c0122b42b860751852225479..6699ab28ab5030b4b8703ea4868f5ef1edd22a14 100644
--- a/helios_auth/view_utils.py
+++ b/helios_auth/view_utils.py
@@ -4,15 +4,13 @@ Utilities for all views
 Ben Adida (12-30-2008)
 """
 
-from django.template import Context, Template, loader
-from django.http import HttpResponse, Http404
+from django.conf import settings
+from django.http import HttpResponse
 from django.shortcuts import render_to_response
-
-from helios_auth.security import get_user
+from django.template import loader
 
 import helios_auth
-
-from django.conf import settings
+from helios_auth.security import get_user
 
 ##
 ## BASICS
@@ -24,37 +22,37 @@ SUCCESS = HttpResponse("SUCCESS")
 ## template abstraction
 ##
 
-def prepare_vars(request, vars):
-  vars_with_user = vars.copy()
-  
+def prepare_vars(request, values):
+  vars_with_user = values.copy()
+
   if request:
     vars_with_user['user'] = get_user(request)
     vars_with_user['csrf_token'] = request.session['csrf_token']
     vars_with_user['SECURE_URL_HOST'] = settings.SECURE_URL_HOST
-    
+
   vars_with_user['STATIC'] = '/static/auth'
   vars_with_user['MEDIA_URL'] = '/static/auth/'
   vars_with_user['TEMPLATE_BASE'] = helios_auth.TEMPLATE_BASE
-  
+
   vars_with_user['settings'] = settings
-  
+
   return vars_with_user
-  
-def render_template(request, template_name, vars = {}):
-  t = loader.get_template(template_name + '.html')
-  
-  vars_with_user = prepare_vars(request, vars)
-  
+
+
+def render_template(request, template_name, values=None):
+  vars_with_user = prepare_vars(request, values or {})
+
   return render_to_response('helios_auth/templates/%s.html' % template_name, vars_with_user)
 
-def render_template_raw(request, template_name, vars={}):
+
+def render_template_raw(request, template_name, values=None):
   t = loader.get_template(template_name + '.html')
-  
-  vars_with_user = prepare_vars(request, vars)
-  c = Context(vars_with_user)  
-  return t.render(c)
+  values = values or {}
 
-def render_json(json_txt):
-  return HttpResponse(json_txt)
+  vars_with_user = prepare_vars(request, values)
+
+  return t.render(context=vars_with_user, request=request)
 
 
+def render_json(json_txt):
+  return HttpResponse(json_txt)
diff --git a/server_ui/view_utils.py b/server_ui/view_utils.py
index e22fcd5bc6beae9bef9e10eb6accf402b3998b7b..df947214620fc0169b9569767a84e633cd0e7615 100644
--- a/server_ui/view_utils.py
+++ b/server_ui/view_utils.py
@@ -4,21 +4,17 @@ Utilities for single election views
 Ben Adida (2009-07-18)
 """
 
-from django.template import Context, Template, loader
-from django.http import HttpResponse, Http404
+from django.conf import settings
 from django.shortcuts import render_to_response
 
 from helios_auth.security import get_user
 
-from django.conf import settings
 
 ##
 ## template abstraction
 ##
-def render_template(request, template_name, vars = {}):
-  t = loader.get_template(template_name + '.html')
-  
-  vars_with_user = vars.copy()
+def render_template(request, template_name, values = None):
+  vars_with_user = values.copy() if values is not None else {}
   vars_with_user['user'] = get_user(request)
   vars_with_user['settings'] = settings
   vars_with_user['CURRENT_URL'] = request.path