diff --git a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml
index 8c0be46..02bff10 100644
--- a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml
+++ b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher.addin.xml
@@ -1,19 +1,22 @@
-<Addin  id="Banshee.LibraryWatcher"
-        name="Library Watcher"
-        description="Automatically update music and video libraries"
-        url="http://banshee-project.org/"
-	copyright="© 2009 Christian Martellini, Alexander Hixon. Licensed under the MIT X11 license."
-	author="Christian Martellini, Alexander Hixon"
-        version="1.0">
+<Addin
+    id="Banshee.LibraryWatcher"
+    version="1.0"
+    compatVersion="1.0"
+    copyright="© 2009 Christian Martellini, Alexander Hixon. Licensed under the MIT X11 license."
+    name="Library Watcher"
+    category="Hardware"
+    description="Automatically update music and video libraries"
+    author="Christian Martellini, Alexander Hixon"
+    url="http://banshee-project.org/"
+    defaultEnabled="true">
 
- <Dependencies>
+  <Dependencies>
     <Addin id="Banshee.Services" version="1.0"/>
     <Addin id="Banshee.ThickClient" version="1.0"/>
   </Dependencies>
 
-   <Extension path="/Banshee/ServiceManager/Service">
-     <Service class="Banshee.LibraryWatcher.LibraryWatcherService"/>
+  <Extension path="/Banshee/ServiceManager/Service">
+    <Service class="Banshee.LibraryWatcher.LibraryWatcherService"/>
   </Extension>
 
-  
 </Addin>
diff --git a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/LibraryWatcherService.cs b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/LibraryWatcherService.cs
index 00cca07..07f79d1 100644
--- a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/LibraryWatcherService.cs
+++ b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/LibraryWatcherService.cs
@@ -1,9 +1,12 @@
 //  
-// Author:
+// LibraryWatcherService.cs
+//
+// Authors:
 //   Alexander Hixon <hixon.alexander@mediati.org>
 //   Christian Martellini <christian.martellini@gmail.com>
 //
 // Copyright (C) 2009 Christian Martellini
+// Copyright (C) 2008 Alexander Hixon
 // 
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -36,10 +39,9 @@ namespace Banshee.LibraryWatcher
 {	
     public class LibraryWatcherService : IExtensionService, IDisposable, IDelayedInitializeService
     {
-        private static SourceWatcher watcher = new SourceWatcher ();
+        private SourceWatcher watcher;
         
-        string IService.ServiceName
-        {
+        string IService.ServiceName {
             get { return "LibraryWatcherService"; }
         }
         
@@ -49,21 +51,18 @@ namespace Banshee.LibraryWatcher
         
         public void DelayedInitialize ()
         {
-            this.StartWatch ();
+            watcher = new SourceWatcher ();
+            watcher.MusicLibrary = ServiceManager.SourceManager.MusicLibrary;
+            watcher.VideoLibrary = ServiceManager.SourceManager.VideoLibrary;
+            watcher.StartWatch ();
         }
         
         public void Dispose ()
         {
             if (watcher != null) {
                 watcher.StopWatch ();
+                watcher = null;
             }
         }
-        	
-        private void StartWatch ()
-        {	
-            watcher.MusicLibrary = ServiceManager.SourceManager.MusicLibrary;
-            watcher.VideoLibrary = ServiceManager.SourceManager.VideoLibrary;
-            watcher.StartWatch ();
-        }
     }
-}
\ No newline at end of file
+}
diff --git a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/SourceWatcher.cs b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/SourceWatcher.cs
index 5b04f95..87749f5 100644
--- a/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/SourceWatcher.cs
+++ b/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/SourceWatcher.cs
@@ -1,4 +1,6 @@
-//  
+//
+// SourceWatcher.cs
+//
 // Author:
 //   Christian Martellini <christian.martellini@gmail.com>
 //
@@ -45,7 +47,7 @@ namespace Banshee.LibraryWatcher
     {
         private LibraryImportManager import_manager;
         
-        private bool forceUpdate;
+        private bool force_update;
         private string dir_to_watch;
         
         /*sources to refresh when something change*/
@@ -54,12 +56,12 @@ namespace Banshee.LibraryWatcher
         
         private FileSystemWatcher watcher = new FileSystemWatcher ();
         		
-        private List<string> tracks_to_remove = new List<string> (); /*songs to remove list*/
-        private List<string> tracks_to_add = new List<string> ();    /*songs to add list*/
+        private List<string> tracks_to_remove = new List<string> ();
+        private List<string> tracks_to_add = new List<string> ();
         
-        private Thread watchThread;
+        private Thread watch_thread;
         
-        private bool stopThread = false;
+        private bool stop_thread = false;
         
         public SourceWatcher ()
         {
@@ -68,9 +70,7 @@ namespace Banshee.LibraryWatcher
         }
         
         public MusicLibrarySource MusicLibrary {
-            get {
-                return music_library;
-            }
+            get { return music_library; }
             set {
                 dir_to_watch = value.BaseDirectory;
                 music_library = value;
@@ -78,47 +78,45 @@ namespace Banshee.LibraryWatcher
         }
         
         public VideoLibrarySource VideoLibrary {
-            get {
-                return video_library;
-            }
-            set {
-                video_library = value;
-            }
+            get { return video_library; }
+            set { video_library = value; }
         }
         
-        #region Public Methods
+#region Public Methods
+
         public void StartWatch ()
         {	
             watcher.Path = dir_to_watch; 
-            watcher.Created += new FileSystemEventHandler (OnFileSystemEvent);
-            watcher.Deleted += new FileSystemEventHandler (OnFileSystemEvent);
-            watcher.Renamed += new RenamedEventHandler (OnRenamed);
+            watcher.Created += OnFileSystemEvent;
+            watcher.Deleted += OnFileSystemEvent;
+            watcher.Renamed += OnRenamed;
             
             watcher.IncludeSubdirectories = true;
             watcher.EnableRaisingEvents = true;
             
-            /*the thread that make the job*/
-            stopThread = false;
-            watchThread = new Thread (new ThreadStart (Watcher));
-            watchThread.Start ();
+            stop_thread = false;
+            watch_thread = new Thread (new ThreadStart (Watcher));
+            watch_thread.Start ();
             
-            Log.Debug ("watching dir " + dir_to_watch);
+            Log.DebugFormat ("Watching dir {0}", dir_to_watch);
         }
         
         public void StopWatch ()
         {
-            watcher.Created -= new FileSystemEventHandler (OnFileSystemEvent);
-            watcher.Deleted -= new FileSystemEventHandler (OnFileSystemEvent);
-            watcher.Renamed -= new RenamedEventHandler (OnRenamed);
+            watcher.Created -= OnFileSystemEvent;
+            watcher.Deleted -= OnFileSystemEvent;
+            watcher.Renamed -= OnRenamed;
             watcher.EnableRaisingEvents = false;
-            stopThread = true;
+            stop_thread = true;
         }
-        #endregion
+
+#endregion
         
-        #region Private Methods
+#region Private Methods
+
         private void OnRenamed (object source, RenamedEventArgs e)
         {
-            forceUpdate = true;
+            force_update = true;
         }
         
         private void OnFileSystemEvent (object source, FileSystemEventArgs e)
@@ -137,32 +135,32 @@ namespace Banshee.LibraryWatcher
         private void Watcher ()
         {
             /*update the library at startup*/
-            forceUpdate = true;
+            force_update = true;
             
             /*the main thread*/
-            while (!stopThread) {
-                bool needReload = false;
-                if (forceUpdate) {
+            while (!stop_thread) {
+                bool need_reload = false;
+                if (force_update) {
                     SearchForDeletedSongs ();
                     SearchForNewSongs ();
-                    forceUpdate = false;
+                    force_update = false;
                 }
                 	
                 if (tracks_to_remove.Count > 0) {
                     lock (tracks_to_remove) {
                         RemoveFromLibrary (tracks_to_remove);
                     }
-                    needReload = true;
+                    need_reload = true;
                 }
                 
                 if (tracks_to_add.Count > 0) {
                     lock (tracks_to_add) {
                         AddToLibrary (tracks_to_add);
                     }
-                    needReload = true;
+                    need_reload = true;
                 }
                 
-                if (needReload) {
+                if (need_reload) {
                     this.MusicLibrary.Reload ();
                     this.VideoLibrary.Reload ();
                     this.MusicLibrary.NotifyTracksChanged ();
@@ -242,6 +240,8 @@ namespace Banshee.LibraryWatcher
             }
             return true;
         }
-        #endregion
+
+#endregion
+
     }
-}
\ No newline at end of file
+}
