diff --git a/ChronoSync b/ChronoSync
index ce00169..7804c23 160000
--- a/ChronoSync
+++ b/ChronoSync
@@ -1 +1 @@
-Subproject commit ce0016970f93e279a24374c2bf1ee2e14a52ef9a
+Subproject commit 7804c2329bf53bcdd3b32aa028edcb665db0079c
diff --git a/osxdist.py b/contrib/osxdist-10.7.py
similarity index 93%
rename from osxdist.py
rename to contrib/osxdist-10.7.py
index 8551e1a..6e7cf8d 100755
--- a/osxdist.py
+++ b/contrib/osxdist-10.7.py
@@ -10,6 +10,19 @@
 from subprocess import Popen, PIPE
 from optparse import OptionParser
 
+import platform
+
+if platform.system () != 'Darwin':
+  print "This script is indended to be run only on OSX platform"
+  exit (1)
+
+SUPPORTED_VERSION = "10.7"
+BINARY_POSTFIX = "Lion-10.7"
+
+if '.'.join (platform.mac_ver()[0].split('.')[0:2]) != SUPPORTED_VERSION:
+  print "This script is indended to be run only on OSX %s platform" % SUPPORTED_VERSION
+  exit (1)
+
 options = None
 
 def gitrev():
@@ -29,6 +42,18 @@
 
 class AppBundle(object):
 
+  def __init__(self, bundle, version, binary):
+    shutil.copytree (src = binary, dst = bundle, symlinks = True)
+
+    self.framework_path = ''
+    self.handled_libs = {}
+    self.bundle = bundle
+    self.version = version
+    self.infopath = os.path.join(os.path.abspath(bundle), 'Contents', 'Info.plist')
+    self.infoplist = plistlib.readPlist(self.infopath)
+    self.binary = os.path.join(os.path.abspath(bundle), 'Contents', 'MacOS', self.infoplist['CFBundleExecutable'])
+    print ' * Preparing AppBundle'
+
   def is_system_lib(self, lib):
     '''
       Is the library a system library, meaning that we should not include it in our bundle?
@@ -232,21 +257,6 @@
           os.system('install_name_tool -id %s %s' % (file, abs))
           self.handle_binary_libs(abs)
 
-  def update_plist(self):
-    '''
-      Modify our bundle's Info.plist to make it ready for release.
-    '''
-    if self.version is not None:
-      print ' * Changing version in Info.plist'
-      p = self.infoplist
-      p['CFBundleVersion'] = self.version
-      p['CFBundleExecutable'] = "ChronoChat"
-      p['CFBundleIconFile'] = 'demo.icns'
-      p['CFBundleGetInfoString'] = '''
-        '''
-      plistlib.writePlist(p, self.infopath)
-
-
   def set_min_macosx_version(self, version):
     '''
       Set the minimum version of Mac OS X version that this App will run on.
@@ -259,16 +269,6 @@
     print ' * Done!'
     print ''
 
-  def __init__(self, bundle, version=None):
-    self.framework_path = ''
-    self.handled_libs = {}
-    self.bundle = bundle
-    self.version = version
-    self.infopath = os.path.join(os.path.abspath(bundle), 'Contents', 'Info.plist')
-    self.infoplist = plistlib.readPlist(self.infopath)
-    self.binary = os.path.join(os.path.abspath(bundle), 'Contents', 'MacOS', self.infoplist['CFBundleExecutable'])
-    print ' * Preparing AppBundle'
-
 class FolderObject(object):
   class Exception(exceptions.Exception):
     pass
@@ -361,7 +361,6 @@
       ver = options.snapshot
     else:
       ver = gitrev()  
-      #ver = "0.0.1"
   else:
     print 'ERROR: Neither snapshot or release selected. Bailing.'
     parser.print_help ()
@@ -369,12 +368,11 @@
 
 
   # Do the finishing touches to our Application bundle before release
-  a = AppBundle('build/ChronoChat.app', ver)
+  a = AppBundle('build/%s/ChronoChat.app' % (BINARY_POSTFIX), ver, 'build/ChronoChat.app')
   a.copy_qt_plugins()
   a.handle_libs()
   a.copy_resources(['qt.conf'])
-  # a.update_plist()
-  a.set_min_macosx_version('10.8.0')
+  a.set_min_macosx_version('%s.0' % SUPPORTED_VERSION)
   a.done()
 
   # Sign our binaries, etc.
@@ -388,11 +386,10 @@
     print ''
 
   # Create diskimage
-  title = "ChronoChat-%s" % ver
+  title = "ChronoChat-%s-%s" % (ver, BINARY_POSTFIX)
   fn = "build/%s.dmg" % title
   d = DiskImage(fn, title)
   d.symlink('/Applications', '/Applications')
-  d.copy('build/ChronoChat.app', '/ChronoChat.app')
-  d.copy('README.md', '/README.txt')
+  d.copy('build/%s/ChronoChat.app' % BINARY_POSTFIX, '/ChronoChat.app')
   d.create()
 
diff --git a/osxdist.py b/contrib/osxdist-10.8.py
similarity index 92%
copy from osxdist.py
copy to contrib/osxdist-10.8.py
index 8551e1a..5f1757b 100755
--- a/osxdist.py
+++ b/contrib/osxdist-10.8.py
@@ -10,6 +10,19 @@
 from subprocess import Popen, PIPE
 from optparse import OptionParser
 
+import platform
+
+if platform.system () != 'Darwin':
+  print "This script is indended to be run only on OSX platform"
+  exit (1)
+
+SUPPORTED_VERSION = "10.8"
+BINARY_POSTFIX = "MountainLion-10.8"
+
+if '.'.join (platform.mac_ver()[0].split('.')[0:2]) != SUPPORTED_VERSION:
+  print "This script is indended to be run only on OSX %s platform" % SUPPORTED_VERSION
+  exit (1)
+
 options = None
 
 def gitrev():
@@ -29,6 +42,18 @@
 
 class AppBundle(object):
 
+  def __init__(self, bundle, version, binary):
+    shutil.copytree (src = binary, dst = bundle, symlinks = True)
+
+    self.framework_path = ''
+    self.handled_libs = {}
+    self.bundle = bundle
+    self.version = version
+    self.infopath = os.path.join(os.path.abspath(bundle), 'Contents', 'Info.plist')
+    self.infoplist = plistlib.readPlist(self.infopath)
+    self.binary = os.path.join(os.path.abspath(bundle), 'Contents', 'MacOS', self.infoplist['CFBundleExecutable'])
+    print ' * Preparing AppBundle'
+
   def is_system_lib(self, lib):
     '''
       Is the library a system library, meaning that we should not include it in our bundle?
@@ -232,21 +257,6 @@
           os.system('install_name_tool -id %s %s' % (file, abs))
           self.handle_binary_libs(abs)
 
-  def update_plist(self):
-    '''
-      Modify our bundle's Info.plist to make it ready for release.
-    '''
-    if self.version is not None:
-      print ' * Changing version in Info.plist'
-      p = self.infoplist
-      p['CFBundleVersion'] = self.version
-      p['CFBundleExecutable'] = "ChronoChat"
-      p['CFBundleIconFile'] = 'demo.icns'
-      p['CFBundleGetInfoString'] = '''
-        '''
-      plistlib.writePlist(p, self.infopath)
-
-
   def set_min_macosx_version(self, version):
     '''
       Set the minimum version of Mac OS X version that this App will run on.
@@ -259,16 +269,6 @@
     print ' * Done!'
     print ''
 
-  def __init__(self, bundle, version=None):
-    self.framework_path = ''
-    self.handled_libs = {}
-    self.bundle = bundle
-    self.version = version
-    self.infopath = os.path.join(os.path.abspath(bundle), 'Contents', 'Info.plist')
-    self.infoplist = plistlib.readPlist(self.infopath)
-    self.binary = os.path.join(os.path.abspath(bundle), 'Contents', 'MacOS', self.infoplist['CFBundleExecutable'])
-    print ' * Preparing AppBundle'
-
 class FolderObject(object):
   class Exception(exceptions.Exception):
     pass
@@ -361,7 +361,6 @@
       ver = options.snapshot
     else:
       ver = gitrev()  
-      #ver = "0.0.1"
   else:
     print 'ERROR: Neither snapshot or release selected. Bailing.'
     parser.print_help ()
@@ -369,12 +368,11 @@
 
 
   # Do the finishing touches to our Application bundle before release
-  a = AppBundle('build/ChronoChat.app', ver)
+  a = AppBundle('build/%s/ChronoChat.app' % (BINARY_POSTFIX), ver, 'build/ChronoChat.app')
   a.copy_qt_plugins()
   a.handle_libs()
   a.copy_resources(['qt.conf'])
-  # a.update_plist()
-  a.set_min_macosx_version('10.8.0')
+  a.set_min_macosx_version('%s.0' % SUPPORTED_VERSION)
   a.done()
 
   # Sign our binaries, etc.
@@ -388,11 +386,10 @@
     print ''
 
   # Create diskimage
-  title = "ChronoChat-%s" % ver
+  title = "ChronoChat-%s-%s" % (ver, BINARY_POSTFIX)
   fn = "build/%s.dmg" % title
   d = DiskImage(fn, title)
   d.symlink('/Applications', '/Applications')
-  d.copy('build/ChronoChat.app', '/ChronoChat.app')
-  d.copy('README.md', '/README.txt')
+  d.copy('build/%s/ChronoChat.app' % BINARY_POSTFIX, '/ChronoChat.app')
   d.create()
 
diff --git a/wscript b/wscript
index ab251e7..291d83e 100644
--- a/wscript
+++ b/wscript
@@ -31,7 +31,9 @@
     else:
         conf.add_supported_cxxflags (cxxflags = ['-O3', '-g'])
 
-    conf.check_cfg (package='libChronoSync', args=['--cflags', '--libs'], uselib_store='SYNC', mandatory=True)
+    conf.check_cfg (package='ChronoSync', 
+                    args=['ChronoSync >= 0.1', '--cflags', '--libs'], 
+                    uselib_store='SYNC', mandatory=True)
 
     conf.define ("CHRONOCHAT_VERSION", VERSION)
 
