diff --git a/.gitignore b/.gitignore
index 5681f1db..2db1e29b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,11 +9,10 @@ src/config3/
 src/dropbox/
 src/logs/
 src/documentation/
-src/sounds/iOs
 src/oggenc2.exe
 src/bootstrap.exe
 src/Microsoft.VC90.CRT
 src/Microsoft.VC90.MFC
 src/launcher.bat
-src/sounds/iOs
-release-snapshot/
\ No newline at end of file
+release-snapshot/
+keymaps/default.keymap
\ No newline at end of file
diff --git a/src/Conf.defaults b/src/Conf.defaults
index 2af00a0b..cfa66edf 100644
--- a/src/Conf.defaults
+++ b/src/Conf.defaults
@@ -12,7 +12,7 @@ reverse_timelines = boolean(default=False)
 time_to_check_streams = integer(default=30)
 announce_stream_status = boolean(default=True)
 retweet_mode = string(default="ask")
-persist_size = integer(default=0)
+persist_size = integer(default=1764)
 buffer_order = list(default=list('home','mentions','dm','sent_dm','sent_tweets','favorites','followers','friends','blocks','muted','events'))
 
 [sound]
diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults
index 36570a88..8e4717e4 100644
--- a/src/app-configuration.defaults
+++ b/src/app-configuration.defaults
@@ -14,8 +14,8 @@ speak_ready_msg = boolean(default=True)
 log_level = string(default="error")
 use_slow_audio_algo = boolean(default=False)
 load_keymap = string(default="default.keymap")
-use_Codeofdusk_audio_handlers=boolean(default=False)
-
+use_Codeofdusk_audio_handlers=boolean(default=True)
+prefer_geocodes = boolean(default=False)
 [proxy]
 server = string(default="")
 port = string(default="")
diff --git a/src/controller/buffersController.py b/src/controller/buffersController.py
index aa237e02..812aeba6 100644
--- a/src/controller/buffersController.py
+++ b/src/controller/buffersController.py
@@ -435,8 +435,7 @@ class baseBufferController(bufferController):
    try:
     sound.URLPlayer.play(url, self.session.settings["sound"]["volume"])
    except:
-    log.error("Exception while executing audio method.")
-
+    log("Exception while executing audio method.")
  @_tweets_exist
  def url(self,url='',announce=True):
   if url == '':
diff --git a/src/controller/mainController.py b/src/controller/mainController.py
index 06a740e6..ee8abd87 100644
--- a/src/controller/mainController.py
+++ b/src/controller/mainController.py
@@ -1016,6 +1016,8 @@ class Controller(object):
   if hasattr(sound.URLPlayer,'stream'):
    return sound.URLPlayer.stop_audio(delete=True)
   tweet = buffer.get_tweet()
+  if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers'] and config.app['app-settings']['prefer_geocodes']:
+   return self.reverse_geocode()
   url=None
   urls = utils.find_urls(tweet)
   if len(urls) == 1:
@@ -1027,11 +1029,9 @@ class Controller(object):
     url=urls_list.get_string()
    if hasattr(urls_list, "destroy"): urls_list.destroy()
   if url != None:
-   output.speak(_(u"Opening media..."), True)
+   output.speak("Opening media...",True)
    if sound.URLPlayer.is_playable(url=url,play=True,volume=buffer.session.settings["sound"]["volume"]) == False:
     return webbrowser.open_new_tab(url)
-  elif utils.is_geocoded(tweet):
-   return output.speak("Not implemented",True)
   else:
    output.speak(_(u"Not actionable."), True)
    buffer.session.sound.play("error.ogg")
@@ -1040,6 +1040,16 @@ class Controller(object):
   buffer = self.get_current_buffer()
   buffer.url()
 
+ def secondary_interact(self):
+  buffer = self.get_current_buffer()
+  tweet=buffer.get_tweet()
+  if utils.is_geocoded(tweet) and config.app['app-settings']['use_Codeofdusk_audio_handlers'] and config.app['app-settings']['prefer_geocodes']:
+   return self.view_reverse_geocode()
+  elif config.app['app-settings']['use_Codeofdusk_audio_handlers']:
+   return buffer.url()
+  else:
+   return buffer.audio()
+
  def audio(self, *args, **kwargs):
   self.get_current_buffer().audio()
 
diff --git a/src/controller/settings.py b/src/controller/settings.py
index bbe7425b..26e1f05c 100644
--- a/src/controller/settings.py
+++ b/src/controller/settings.py
@@ -62,6 +62,7 @@ class globalSettingsController(object):
   self.dialog.set_value("general", "hide_gui", config.app["app-settings"]["hide_gui"])  
   self.dialog.set_value("general", "use_slow_audio_algo", config.app["app-settings"]["use_slow_audio_algo"])
   self.dialog.set_value("general", "use_Codeofdusk_audio_handlers", config.app["app-settings"]["use_Codeofdusk_audio_handlers"])
+  self.dialog.set_value("general", "prefer_geocodes", config.app["app-settings"]["prefer_geocodes"])
   self.dialog.create_proxy()
   self.dialog.set_value("proxy", "server", config.app["proxy"]["server"])
   self.dialog.set_value("proxy", "port", config.app["proxy"]["port"])
@@ -92,6 +93,8 @@ class globalSettingsController(object):
    #Todo: clean memmos.
   if config.app["app-settings"]["use_Codeofdusk_audio_handlers"] != self.dialog.get_value("general", "use_Codeofdusk_audio_handlers"):
    config.app["app-settings"]["use_Codeofdusk_audio_handlers"] = self.dialog.get_value("general", "use_Codeofdusk_audio_handlers")
+  if config.app["app-settings"]["prefer_geocodes"] != self.dialog.get_value("general", "prefer_geocodes"):
+   config.app["app-settings"]["prefer_geocodes"] = self.dialog.get_value("general", "prefer_geocodes")
   if config.app["proxy"]["server"] != self.dialog.get_value("proxy", "server") or config.app["proxy"]["port"] != self.dialog.get_value("proxy", "port") or config.app["proxy"]["user"] != self.dialog.get_value("proxy", "user") or config.app["proxy"]["password"] != self.dialog.get_value("proxy", "password"):
    if self.is_started == True:
     self.needs_restart = True
diff --git a/src/keymaps/default.keymap b/src/keymaps/default.keymap
index 61f9ebf1..f41531ec 100644
--- a/src/keymaps/default.keymap
+++ b/src/keymaps/default.keymap
@@ -2,51 +2,3 @@
 name = Default
 desc = TWBlue's default keymap.
 author = Bill Dengler <codeofdusk@gmail.com>
-
-[keymap]
-up = control+win+up
-down = control+win+down
-left = control+win+left
-right = control+win+right
-next_account = control+win+shift+right
-previous_account = control+win+shift+left
-open_conversation = control+win+c
-show_hide = control+win+m
-post_tweet = control+win+n
-post_reply = control+win+r
-post_retweet = control+win+shift+r
-send_dm = control+win+d
-add_to_favourites = alt+win+f
-remove_from_favourites = alt+shift+win+f
-follow = control+win+s
-user_details = control+win+alt+n
-view_item = control+win+v
-exit = control+win+f4
-open_timeline = control+win+i
-remove_buffer = control+win+shift+i
-interact = control+alt+win+return
-url = control+win+return
-volume_up = control+win+alt+up
-volume_down = control+win+alt+down
-go_home = control+win+home
-go_end = control+win+end
-go_page_up = control+win+pageup
-go_page_down = control+win+pagedown
-update_profile = alt+win+p
-delete = control+win+delete
-clear_buffer = control+win+shift+delete
-repeat_item = control+win+space
-copy_to_clipboard = control+win+c
-add_to_list = control+win+a
-remove_from_list = control+win+shift+a
-toggle_buffer_mute = control+win+shift+m
-toggle_session_mute = alt+win+m
-toggle_autoread = control+win+e
-search = control+win+-
-edit_keystrokes = control+win+k
-view_user_lists = control+win+l
-get_more_items = alt+win+pageup
-reverse_geocode = control+win+g
-view_reverse_geocode = control+win+shift+g
-get_trending_topics = control+win+t
-secondary_interact = control+win+alt+return
diff --git a/src/sessionmanager/session.py b/src/sessionmanager/session.py
index c7568837..d6a566e5 100644
--- a/src/sessionmanager/session.py
+++ b/src/sessionmanager/session.py
@@ -252,7 +252,6 @@ class Session(object):
  def get_muted_users(self):
 
   """ Gets muted users (oh really?)."""
-
   self.db["muted_users"] = self.twitter.twitter.list_mute_ids()["ids"]
 
  @_require_login
diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py
index b62c0807..179a219e 100644
--- a/src/wxUI/dialogs/configuration.py
+++ b/src/wxUI/dialogs/configuration.py
@@ -38,6 +38,8 @@ class general(wx.Panel, baseDialog.BaseWXDialog):
   sizer.Add(kmbox, 0, wx.ALL, 5)
   self.use_slow_audio_algo= wx.CheckBox(self, -1, _(U"Use slow audio tweet detection algorithm (improves audio tweet detection accuracy at the cost of performance)"))
   sizer.Add(self.use_slow_audio_algo, 0, wx.ALL, 5)
+  self.prefer_geocodes= wx.CheckBox(self, -1, _(U"Prefer geolocation information to URLs when interacting with tweets (only applies when Codeofdusk's tweet handlers are enabled)"))
+  sizer.Add(self.prefer_geocodes, 0, wx.ALL, 5)
   self.use_Codeofdusk_audio_handlers= wx.CheckBox(self, -1, _(U"Use Codeofdusk's tweet interaction handlers (intelegently handle audio tweets, may impact client performance on very slow connections)"))
   sizer.Add(self.use_Codeofdusk_audio_handlers, 0, wx.ALL, 5)
   self.SetSizer(sizer)