diff --git a/entries/views.py b/entries/views.py
index 7891091c8c3e4cc86f236b3d77d7abbdb7213c71..c74883da870a19558801bc9580b4f3a74f8951f0 100644
--- a/entries/views.py
+++ b/entries/views.py
@@ -47,6 +47,7 @@ from .phrase_descriptions.descriptions import position_prop_description
 
 MAX_LAST_VISITED = 10
 
+
 @login_required
 def entries(request):
     # TODO make this automatic by subclassing/configuring session object
@@ -56,6 +57,7 @@ def entries(request):
         request.session['show_reals_desc'] = True
     if 'show_linked_entries' not in request.session:
         request.session['show_linked_entries'] = True
+    user = request.user
     # TODO retrieve the form from the request session – keep forms between page refreshes,
     # keep search history, allow saving searches?
     # if so, don’t delete local forms on main form submit in send_form
@@ -68,6 +70,7 @@ def entries(request):
             'frames_form' : FrameFormFactory.get_form(as_subform=False),
             'schemata_form' : SchemaFormFactory.get_form(as_subform=False),
             'unified_frames_form': UnifiedFrameFormFactory.get_form(as_subform=False),
+            'is_superlexicograf': user.groups.filter(name=settings.SUPER_LEXICOGRAPHS_GROUP_NAME).exists()
         })
 
 
diff --git a/unifier/views.py b/unifier/views.py
index b9f4fe9471db85e3666898a70fbf417bf68915b5..7ffaabbcac4a80f1e525494be3f03b4a8dc24cc1 100644
--- a/unifier/views.py
+++ b/unifier/views.py
@@ -5,9 +5,11 @@ from django.contrib.auth.decorators import login_required
 from django.db import transaction
 from django.http import JsonResponse, HttpResponse
 from django.shortcuts import get_object_or_404
+from django.test import override_settings
 from django.views.decorators.csrf import csrf_exempt
 
 from common.decorators import ajax_required, ajax
+from connections.models import SchemaHook, ExampleConnection
 from entries.polish_strings import EXAMPLE_SOURCE, EXAMPLE_OPINION
 from entries.views import get_scroller_params, get_alternations, get_prefs_list, schema2dict, \
     frame2dict, collect_forms, get_filtered_objects, get_local_schema_filter_form, get_local_frame_filter_form
@@ -16,7 +18,7 @@ from importer.unification.UnificationPreprocessXML import UnificationPreprocessH
 from meanings.models import LexicalUnit
 from semantics.choices import FrameStatus
 from semantics.models import Frame, ArgumentRole, SemanticRole, RoleAttribute, RoleType, RoleSubAttribute, \
-    PredefinedSelectionalPreference
+    PredefinedSelectionalPreference, Argument
 from syntax.models import Schema
 from unifier.models import UnifiedFrameArgument, UnifiedRelationalSelectionalPreference, UnifiedFrame, \
     UnifiedFrame2SlowalFrameMapping, UnifiedFrameArgumentSlowalFrameMapping, HierarchyModel
@@ -25,7 +27,7 @@ from . import choices
 from xml.etree.ElementTree import Element, SubElement, tostring
 import io
 from xml.sax import handler, make_parser
-from django.db.models import Q
+from django.db.models import Q, Prefetch
 
 from django.conf import settings
 import logging
@@ -350,9 +352,16 @@ def to_lemma(lexical_units):
     return ", ".join(map(lambda l: l['str'], lexical_units))
 
 
+# @override_settings(DEBUG=True)
 def get_unified_frame_json(unified_frame, request):
     local_schema_filter_form = None
     local_frame_filter_form = None
+
+    import datetime
+    now = datetime.datetime.now()
+    print("1 Current date and time : ")
+    print(now.strftime("%Y-%m-%d %H:%M:%S"))
+
     if 'no_filters' in request.POST:
         apply_filters = not simplejson.loads(request.POST['no_filters'])
         local_schema_filter_form = get_local_schema_filter_form(apply_filters, request)
@@ -364,22 +373,75 @@ def get_unified_frame_json(unified_frame, request):
     if local_frame_filter_form:
         slowal_frames_db = get_filtered_objects(local_frame_filter_form, slowal_frames_db)
 
+    slowal_frames_db = slowal_frames_db.select_related("opinion")
+
+    # slowal_frames_db = slowal_frames_db.prefetch_related(
+    #     Prefetch(
+    #         'lexical_units',
+    #         queryset=LexicalUnit.objects
+    #     ),
+    #     Prefetch(
+    #         'arguments',
+    #         queryset=Argument.objects.select_related("role", "role__role", "role__attribute", "role__sub_attribute").prefetch_related(
+    #             Prefetch(
+    #                 'example_connections',
+    #                 queryset=ExampleConnection.objects.select_related('example', 'lexical_unit').prefetch_related(
+    #                     Prefetch(
+    #                         'arguments',
+    #                         queryset=Argument.objects
+    #                     ),
+    #                     Prefetch(
+    #                         'schema_connections',
+    #                         queryset=SchemaHook.objects
+    #                     )
+    #                 )
+    #             )
+    #         )
+    #     )
+    # )
+
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__role__role")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__role__attribute")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__role__sub_attribute")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__example_connections__example")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__example_connections__example__example_connections__arguments")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__example_connections__example__example_connections__lexical_unit")
+    slowal_frames_db = slowal_frames_db.prefetch_related("arguments__example_connections__example__example_connections__schema_connections")
+
     slowal_frames = slowal_frames_db.all()
 
+    slowal_frames_dict = []
+    for slowal_frame in slowal_frames:
+        dict = frame2dict(slowal_frame, slowal_frame.lexical_units.all())
+        slowal_frames_dict.append(dict)
+
     all_schema_objects = Schema.objects.filter(
         schema_hooks__argument_connections__argument__frame__in=slowal_frames).distinct()
 
     if local_schema_filter_form:
         all_schema_objects = get_filtered_objects(local_schema_filter_form, all_schema_objects)
 
-    slowal_frames_dict = []
-    for slowal_frame in slowal_frames:
-        dict = frame2dict(slowal_frame, slowal_frame.lexical_units.all())
-        slowal_frames_dict.append(dict)
+    all_schema_objects = all_schema_objects.select_related("opinion")
+    all_schema_objects = all_schema_objects.prefetch_related("positions")
+    all_schema_objects = all_schema_objects.prefetch_related("schema_hooks")
+    all_schema_objects = all_schema_objects.prefetch_related("schema_hooks__argument_connections")
+
+    all_schema_objects = all_schema_objects.prefetch_related("positions__function")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__control")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__pred_control")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types")
+
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__main_type")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__attributes")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__lexicalized_phrase")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__lemma_operator")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__lemma_cooccur")
+    all_schema_objects = all_schema_objects.prefetch_related("positions__phrase_types__lemmata")
 
     slowal_frames_dict = sorted(slowal_frames_dict, key=lambda x: to_lemma(x['lexical_units']))
 
     alternations, realisation_phrases, realisation_descriptions = get_alternations(all_schema_objects, slowal_frames)
+
     examples = get_examples(slowal_frames)
 
     all_schema_objects_dict = [schema2dict(schema, schema.subentries.all()[0].negativity, request.LANGUAGE_CODE) for
diff --git a/users/views.py b/users/views.py
index 95ae268dc76d4daff6757364fc98f18f3054fa24..857e998f188898560c89c038952f4bb059517398 100644
--- a/users/views.py
+++ b/users/views.py
@@ -85,7 +85,7 @@ def add_note(request, model, pk, type=None):
     subject = get_object_or_404(model, pk=pk)
     user = request.user
     if request.POST.get('super', 'off') == 'on' \
-            and user.groups.filter(name=settings.SUPER_LEXICOGRAPHS_GROUP_NAME).exists():
+            and user.groups.filter(name=settings.SUPER_LEXICOGRAPHS_GROUP_NAME).exists() and hasattr(subject, 'assignments'):
         user = subject.assignments.first().user
     note = Note(author=user, subject=subject)
     if type: