diff --git a/expo/admin.py b/expo/admin.py
index 4416dda..f2717d9 100644
--- a/expo/admin.py
+++ b/expo/admin.py
@@ -24,6 +24,7 @@ class ScannedImageInline(admin.TabularInline):
 
 class SurveyAdmin(TroggleModelAdmin):
     inlines = (ScannedImageInline,)
+    search_fields = ('expedition__year','wallet_number')    
 
 class QMInline(admin.TabularInline):
 	model=QM
diff --git a/expo/models.py b/expo/models.py
index 639e8b5..b7ad2d7 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -538,7 +538,7 @@ class Photo(TroggleModel):
     def __str__(self):
         return self.caption
 
-scansFileStorage = FileSystemStorage(location=settings.SURVEYS, base_url=settings.SURVEYS_URL)
+scansFileStorage = FileSystemStorage(location=settings.SURVEY_SCANS, base_url=settings.SURVEYS_URL)
 def get_scan_path(instance, filename):
     year=instance.survey.expedition.year
     print "WN: ", type(instance.survey.wallet_number), instance.survey.wallet_number
diff --git a/parsers/surveys.py b/parsers/surveys.py
index ca2f153..c7c666d 100644
--- a/parsers/surveys.py
+++ b/parsers/surveys.py
@@ -5,7 +5,7 @@ sys.path.append('C:\\Expo\\expoweb')
 from troggle import *
 os.environ['DJANGO_SETTINGS_MODULE']='troggle.settings'
 import troggle.settings as settings
-import troggle.expo.models as models
+from troggle.expo.models import *
 
 #import settings
 #import expo.models as models
@@ -13,40 +13,41 @@ import csv
 import re
 import datetime
 
-try:
-    surveytab = open(os.path.join(settings.SURVEYS, "Surveys.csv"))
-except IOError:
-    import cStringIO, urllib
-    surveytab = cStringIO.StringIO(urllib.urlopen(settings.SURVEYS + "download/Surveys.csv").read())
-dialect=csv.Sniffer().sniff(surveytab.read())
-surveytab.seek(0,0)
-surveyreader = csv.reader(surveytab,dialect=dialect)
-headers = surveyreader.next()
-header = dict(zip(headers, range(len(headers)))) #set up a dictionary where the indexes are header names and the values are column numbers
+def readSurveysFromCSV():
+    try:
+        surveytab = open(os.path.join(settings.SURVEYS, "Surveys.csv"))
+    except IOError:
+        import cStringIO, urllib
+        surveytab = cStringIO.StringIO(urllib.urlopen(settings.SURVEYS + "download/Surveys.csv").read())
+    dialect=csv.Sniffer().sniff(surveytab.read())
+    surveytab.seek(0,0)
+    surveyreader = csv.reader(surveytab,dialect=dialect)
+    headers = surveyreader.next()
+    header = dict(zip(headers, range(len(headers)))) #set up a dictionary where the indexes are header names and the values are column numbers
 
-# test if the expeditions have been added yet
-if len(models.Expedition.objects.all())==0:
-    print "There are no expeditions in the database. Please run the logbook parser."
-    sys.exit()
-models.ScannedImage.objects.all().delete()
-models.Survey.objects.all().delete()
-for survey in surveyreader:
-    walletNumberLetter = re.match(r'(?P<number>\d*)(?P<letter>[a-zA-Z]*)',survey[header['Survey Number']]) #I hate this, but some surveys have a letter eg 2000#34a. This line deals with that.
-#    print walletNumberLetter.groups()
+    # test if the expeditions have been added yet
+    if Expedition.objects.count()==0:
+        print "There are no expeditions in the database. Please run the logbook parser."
+        sys.exit()
+    ScannedImage.objects.all().delete()
+    Survey.objects.all().delete()
+    for survey in surveyreader:
+        walletNumberLetter = re.match(r'(?P<number>\d*)(?P<letter>[a-zA-Z]*)',survey[header['Survey Number']]) #I hate this, but some surveys have a letter eg 2000#34a. This line deals with that.
+    #    print walletNumberLetter.groups()
 
-    surveyobj = models.Survey(
-        expedition = models.Expedition.objects.filter(year=survey[header['Year']])[0],
-        wallet_number = walletNumberLetter.group('number'),
+        surveyobj = Survey(
+            expedition = Expedition.objects.filter(year=survey[header['Year']])[0],
+            wallet_number = walletNumberLetter.group('number'),
 
-        comments = survey[header['Comments']],
-        location = survey[header['Location']]
-        )
-    surveyobj.wallet_letter = walletNumberLetter.group('letter')
-    if survey[header['Finished']]=='Yes':
-        #try and find the sketch_scan
-        pass
-    surveyobj.save()
-    print "added survey " + survey[header['Year']] + "#" + surveyobj.wallet_number + "\r",
+            comments = survey[header['Comments']],
+            location = survey[header['Location']]
+            )
+        surveyobj.wallet_letter = walletNumberLetter.group('letter')
+        if survey[header['Finished']]=='Yes':
+            #try and find the sketch_scan
+            pass
+        surveyobj.save()
+        print "added survey " + survey[header['Year']] + "#" + surveyobj.wallet_number + "\r",
 
 def listdir(*directories):
     try:
@@ -59,11 +60,15 @@ def listdir(*directories):
 
 # add survey scans
 def parseSurveyScans(year):
-    yearFileList = listdir(year.year)
+#    yearFileList = listdir(year.year)
+    yearPath=os.path.join(settings.SURVEY_SCANS, year.year)
+    yearFileList=os.listdir(yearPath)
+    print yearFileList
     for surveyFolder in yearFileList:
         try:
             surveyNumber=re.match(r'\d\d\d\d#0*(\d+)',surveyFolder).groups()
-            scanList = listdir(year.year, surveyFolder)
+#            scanList = listdir(year.year, surveyFolder)
+            scanList=os.listdir(os.path.join(yearPath,surveyFolder))
         except AttributeError:
             print surveyFolder + " ignored",
             continue
@@ -73,10 +78,10 @@ def parseSurveyScans(year):
                 scanChopped=re.match(r'(?i).*(notes|elev|plan|elevation|extend)(\d*)\.(png|jpg|jpeg)',scan).groups()
                 scanType,scanNumber,scanFormat=scanChopped
             except AttributeError:
-                print "Adding scans: " + scan + " ignored \r",
+                print scan + " ignored \r",
                 continue
-	    if scanType == 'elev' or scanType == 'extend':
-		scanType = 'elevation'
+            if scanType == 'elev' or scanType == 'extend':
+                scanType = 'elevation'
 
             if scanNumber=='':
                 scanNumber=1
@@ -84,11 +89,11 @@ def parseSurveyScans(year):
             if type(surveyNumber)==types.TupleType:
                 surveyNumber=surveyNumber[0]
             try:
-                survey=models.Survey.objects.get_or_create(wallet_number=surveyNumber, expedition=year)[0]
-            except models.Survey.MultipleObjectsReturned:
-                survey=models.Survey.objects.filter(wallet_number=surveyNumber, expedition=year)[0]
+                survey=Survey.objects.get_or_create(wallet_number=surveyNumber, expedition=year)[0]
+            except Survey.MultipleObjectsReturned:
+                survey=Survey.objects.filter(wallet_number=surveyNumber, expedition=year)[0]
                
-            scanObj = models.ScannedImage(
+            scanObj = ScannedImage(
                 file=os.path.join(year.year, surveyFolder, scan),
                 contents=scanType,
                 number_in_wallet=scanNumber,
@@ -96,6 +101,8 @@ def parseSurveyScans(year):
                 )
             #print "Added scanned image at " + str(scanObj)
             scanObj.save()
-                
-for year in models.Expedition.objects.filter(year__gte=2000):   #expos since 2000, because paths and filenames were nonstandard before then
-    parseSurveyScans(year)
+
+def parseSurveys():
+    readSurveysFromCSV()                
+    for year in Expedition.objects.filter(year__gte=2000):   #expos since 2000, because paths and filenames were nonstandard before then
+        parseSurveyScans(year)
diff --git a/urls.py b/urls.py
index 9494694..4d39f84 100644
--- a/urls.py
+++ b/urls.py
@@ -76,7 +76,7 @@ urlpatterns = patterns('',
     #(r'^survey_files/upload/(?P<path>.*)$', view_surveys.upload),
 
     (r'^survey_scans/(?P<path>.*)$', 'django.views.static.serve',
-        {'document_root': settings.SURVEYS, 'show_indexes':True}),
+        {'document_root': settings.SURVEY_SCANS, 'show_indexes':True}),
 
     (r'^photos/(?P<path>.*)$', 'django.views.static.serve',
         {'document_root': settings.PHOTOS_ROOT, 'show_indexes':True}),