diff --git a/SickBeard.py b/SickBeard.py
index bf37a9292d09a653f14dffb4e32ff6e120c3c3ad..2ee3659706e1d7b46a869a33ff6133a8973bf6b3 100755
--- a/SickBeard.py
+++ b/SickBeard.py
@@ -29,10 +29,13 @@ import sys
 import subprocess
 import traceback
 
+import os
+sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')))
+
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 if sys.version_info < (2, 6):
     print "Sorry, requires Python 2.6 or 2.7."
@@ -49,10 +52,6 @@ except:
     print "The Python module Cheetah is required"
     sys.exit(1)
 
-import os
-
-sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), 'lib')))
-
 # We only need this for compiling an EXE and I will just always do that on 2.6+
 if sys.hexversion >= 0x020600F0:
     from multiprocessing import freeze_support  # @UnresolvedImport
@@ -93,7 +92,7 @@ from sickbeard.tv import TVShow
 from sickbeard.webserveInit import SRWebServer
 from sickbeard.databases.mainDB import MIN_DB_VERSION, MAX_DB_VERSION
 from sickbeard.event_queue import Events
-from lib.configobj import ConfigObj
+from configobj import ConfigObj
 
 throwaway = datetime.datetime.strptime('20110101', '%Y%m%d')
 
diff --git a/gui/slick/images/network/fox crime.png b/gui/slick/images/network/fox crime.png
new file mode 100644
index 0000000000000000000000000000000000000000..acf5a311e077be857e630d47a34f562ee369b0c2
Binary files /dev/null and b/gui/slick/images/network/fox crime.png differ
diff --git a/gui/slick/interfaces/default/editShow.tmpl b/gui/slick/interfaces/default/editShow.tmpl
index c1d7c0721400bea3ba04152585044df99c652275..f25d4da8781a9b1445fc8d33a1d4c4802521af28 100644
--- a/gui/slick/interfaces/default/editShow.tmpl
+++ b/gui/slick/interfaces/default/editShow.tmpl
@@ -1,5 +1,5 @@
 #import sickbeard
-#import lib.adba as adba
+#import adba
 #from sickbeard import common
 #from sickbeard.common import *
 #from sickbeard import exceptions
diff --git a/lib/hachoir_core/__init__.py b/lib/hachoir_core/__init__.py
index 5fcd20a4461562ca5ea022bb094a3a8ba0b34a38..df1988fda2f02ba08dfed6d6009dc19df68b0c7b 100644
--- a/lib/hachoir_core/__init__.py
+++ b/lib/hachoir_core/__init__.py
@@ -1,2 +1,2 @@
-from lib.hachoir_core.version import VERSION as __version__, PACKAGE, WEBSITE, LICENSE
+from hachoir_core.version import VERSION as __version__, PACKAGE, WEBSITE, LICENSE
 
diff --git a/lib/hachoir_core/benchmark.py b/lib/hachoir_core/benchmark.py
index a046c9a99b32c715ccf9c70e267e7452f20f97ca..f823cfae1038d844d5e498ec5c68aeffc22ff671 100644
--- a/lib/hachoir_core/benchmark.py
+++ b/lib/hachoir_core/benchmark.py
@@ -1,5 +1,5 @@
-from lib.hachoir_core.tools import humanDurationNanosec
-from lib.hachoir_core.i18n import _
+from hachoir_core.tools import humanDurationNanosec
+from hachoir_core.i18n import _
 from math import floor
 from time import time
 
diff --git a/lib/hachoir_core/bits.py b/lib/hachoir_core/bits.py
index b18547dd0913be82bc34738a2724d06cb2d9d390..d5b31a018b5e3d1bb61e9a6be8874f11414352d1 100644
--- a/lib/hachoir_core/bits.py
+++ b/lib/hachoir_core/bits.py
@@ -3,8 +3,8 @@ Utilities to convert integers and binary strings to binary (number), binary
 string, number, hexadecimal, etc.
 """
 
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.compatibility import reversed
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.compatibility import reversed
 from itertools import chain, repeat
 from struct import calcsize, unpack, error as struct_error
 
diff --git a/lib/hachoir_core/cmd_line.py b/lib/hachoir_core/cmd_line.py
index 80161712fff34ab11d9d50b89b07a171d18ba33a..8c4178df0a66e04d6720687d9b0e7f7e6a9ca77a 100644
--- a/lib/hachoir_core/cmd_line.py
+++ b/lib/hachoir_core/cmd_line.py
@@ -1,8 +1,8 @@
 from optparse import OptionGroup
-from lib.hachoir_core.log import log
-from lib.hachoir_core.i18n import _, getTerminalCharset
-from lib.hachoir_core.tools import makePrintable
-import lib.hachoir_core.config as config
+from hachoir_core.log import log
+from hachoir_core.i18n import _, getTerminalCharset
+from hachoir_core.tools import makePrintable
+import hachoir_core.config as config
 
 def getHachoirOptions(parser):
     """
diff --git a/lib/hachoir_core/dict.py b/lib/hachoir_core/dict.py
index f7eb65e6ee41b082c02b8a30c179b1ec5ff949a0..f887683c78416acd4ac264f345723f9ed124235c 100644
--- a/lib/hachoir_core/dict.py
+++ b/lib/hachoir_core/dict.py
@@ -2,8 +2,8 @@
 Dictionnary classes which store values order.
 """
 
-from lib.hachoir_core.error import HachoirError
-from lib.hachoir_core.i18n import _
+from hachoir_core.error import HachoirError
+from hachoir_core.i18n import _
 
 class UniqKeyError(HachoirError):
     """
diff --git a/lib/hachoir_core/endian.py b/lib/hachoir_core/endian.py
index 6d09e2619edd4af188613741575a3ca40486b236..5f6ae88b415490224f552699171c8f63e62efa1b 100644
--- a/lib/hachoir_core/endian.py
+++ b/lib/hachoir_core/endian.py
@@ -2,7 +2,7 @@
 Constant values about endian.
 """
 
-from lib.hachoir_core.i18n import _
+from hachoir_core.i18n import _
 
 BIG_ENDIAN = "ABCD"
 LITTLE_ENDIAN = "DCBA"
diff --git a/lib/hachoir_core/error.py b/lib/hachoir_core/error.py
index 78f614a2a3806f93add1d66e3b637f83133c21c5..9ec6b57382ecf0805a40180f563554510d57631b 100644
--- a/lib/hachoir_core/error.py
+++ b/lib/hachoir_core/error.py
@@ -2,8 +2,8 @@
 Functions to display an error (error, warning or information) message.
 """
 
-from lib.hachoir_core.log import log
-from lib.hachoir_core.tools import makePrintable
+from hachoir_core.log import log
+from hachoir_core.tools import makePrintable
 import sys, traceback
 
 def getBacktrace(empty="Empty backtrace."):
diff --git a/lib/hachoir_core/field/__init__.py b/lib/hachoir_core/field/__init__.py
index 66f3ed6b83b09055e73cc079a5fdc8b023be7f9d..f313c9ba11ff92476ba436cf2528a34b4a7ec486 100644
--- a/lib/hachoir_core/field/__init__.py
+++ b/lib/hachoir_core/field/__init__.py
@@ -1,44 +1,44 @@
 # Field classes
-from lib.hachoir_core.field.field import Field, FieldError, MissingField, joinPath
-from lib.hachoir_core.field.bit_field import Bit, Bits, RawBits
-from lib.hachoir_core.field.byte_field import Bytes, RawBytes
-from lib.hachoir_core.field.sub_file import SubFile, CompressedField
-from lib.hachoir_core.field.character import Character
-from lib.hachoir_core.field.integer import (
+from hachoir_core.field.field import Field, FieldError, MissingField, joinPath
+from hachoir_core.field.bit_field import Bit, Bits, RawBits
+from hachoir_core.field.byte_field import Bytes, RawBytes
+from hachoir_core.field.sub_file import SubFile, CompressedField
+from hachoir_core.field.character import Character
+from hachoir_core.field.integer import (
     Int8,  Int16,  Int24,  Int32,  Int64,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     GenericInteger)
-from lib.hachoir_core.field.enum import Enum
-from lib.hachoir_core.field.string_field import (GenericString,
+from hachoir_core.field.enum import Enum
+from hachoir_core.field.string_field import (GenericString,
     String, CString, UnixLine,
     PascalString8, PascalString16, PascalString32)
-from lib.hachoir_core.field.padding import (PaddingBits, PaddingBytes,
+from hachoir_core.field.padding import (PaddingBits, PaddingBytes,
     NullBits, NullBytes)
 
 # Functions
-from lib.hachoir_core.field.helper import (isString, isInteger,
+from hachoir_core.field.helper import (isString, isInteger,
     createPaddingField, createNullField, createRawField,
     writeIntoFile, createOrphanField)
 
 # FieldSet classes
-from lib.hachoir_core.field.fake_array import FakeArray
-from lib.hachoir_core.field.basic_field_set import (BasicFieldSet,
+from hachoir_core.field.fake_array import FakeArray
+from hachoir_core.field.basic_field_set import (BasicFieldSet,
     ParserError, MatchError)
-from lib.hachoir_core.field.generic_field_set import GenericFieldSet
-from lib.hachoir_core.field.seekable_field_set import SeekableFieldSet, RootSeekableFieldSet
-from lib.hachoir_core.field.field_set import FieldSet
-from lib.hachoir_core.field.static_field_set import StaticFieldSet
-from lib.hachoir_core.field.parser import Parser
-from lib.hachoir_core.field.vector import GenericVector, UserVector
+from hachoir_core.field.generic_field_set import GenericFieldSet
+from hachoir_core.field.seekable_field_set import SeekableFieldSet, RootSeekableFieldSet
+from hachoir_core.field.field_set import FieldSet
+from hachoir_core.field.static_field_set import StaticFieldSet
+from hachoir_core.field.parser import Parser
+from hachoir_core.field.vector import GenericVector, UserVector
 
 # Complex types
-from lib.hachoir_core.field.float import Float32, Float64, Float80
-from lib.hachoir_core.field.timestamp import (GenericTimestamp,
+from hachoir_core.field.float import Float32, Float64, Float80
+from hachoir_core.field.timestamp import (GenericTimestamp,
     TimestampUnix32, TimestampUnix64, TimestampMac32, TimestampUUID60, TimestampWin64,
     DateTimeMSDOS32, TimeDateMSDOS32, TimedeltaWin64)
 
 # Special Field classes
-from lib.hachoir_core.field.link import Link, Fragment
+from hachoir_core.field.link import Link, Fragment
 
 available_types = (
     Bit, Bits, RawBits,
diff --git a/lib/hachoir_core/field/basic_field_set.py b/lib/hachoir_core/field/basic_field_set.py
index 5c1bf9f8017705e5525b9dd0f7bd5e6bb24cf721..c044124b8185da4368b4c860b2db31ab3f91063a 100644
--- a/lib/hachoir_core/field/basic_field_set.py
+++ b/lib/hachoir_core/field/basic_field_set.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.field import Field, FieldError
-from lib.hachoir_core.stream import InputStream
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.event_handler import EventHandler
+from hachoir_core.field import Field, FieldError
+from hachoir_core.stream import InputStream
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.event_handler import EventHandler
 
 class ParserError(FieldError):
     """
diff --git a/lib/hachoir_core/field/bit_field.py b/lib/hachoir_core/field/bit_field.py
index 85f5502d31189db70966878e2087b42ed1999403..8fae3c7c2685cce075ad9f26a3484249b5a06e4b 100644
--- a/lib/hachoir_core/field/bit_field.py
+++ b/lib/hachoir_core/field/bit_field.py
@@ -5,9 +5,9 @@ Bit sized classes:
 - RawBits: unknown content with a size in bits.
 """
 
-from lib.hachoir_core.field import Field
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core import config
+from hachoir_core.field import Field
+from hachoir_core.i18n import _
+from hachoir_core import config
 
 class RawBits(Field):
     """
diff --git a/lib/hachoir_core/field/byte_field.py b/lib/hachoir_core/field/byte_field.py
index 4591daa1ece38d026fe507517ccf3e846923f556..16db18102c8aabb8b3d2aedfc2e0f065d25293fe 100644
--- a/lib/hachoir_core/field/byte_field.py
+++ b/lib/hachoir_core/field/byte_field.py
@@ -3,10 +3,10 @@ Very basic field: raw content with a size in byte. Use this class for
 unknown content.
 """
 
-from lib.hachoir_core.field import Field, FieldError
-from lib.hachoir_core.tools import makePrintable
-from lib.hachoir_core.bits import str2hex
-from lib.hachoir_core import config
+from hachoir_core.field import Field, FieldError
+from hachoir_core.tools import makePrintable
+from hachoir_core.bits import str2hex
+from hachoir_core import config
 
 MAX_LENGTH = (2**64)
 
diff --git a/lib/hachoir_core/field/character.py b/lib/hachoir_core/field/character.py
index 002a18c9f48e416f4bd0dfc3275a17dca7747531..42bc4b1e7ca4f9560758a0c06ef2d90dab2cee65 100644
--- a/lib/hachoir_core/field/character.py
+++ b/lib/hachoir_core/field/character.py
@@ -2,9 +2,9 @@
 Character field class: a 8-bit character
 """
 
-from lib.hachoir_core.field import Bits
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.tools import makePrintable
+from hachoir_core.field import Bits
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.tools import makePrintable
 
 class Character(Bits):
     """
diff --git a/lib/hachoir_core/field/fake_array.py b/lib/hachoir_core/field/fake_array.py
index f5ae6d951aa94acb37a2357732f1a30f8e1e6317..5535cafebb30bba888617c78f1eef61138b9a31a 100644
--- a/lib/hachoir_core/field/fake_array.py
+++ b/lib/hachoir_core/field/fake_array.py
@@ -1,5 +1,5 @@
 import itertools
-from lib.hachoir_core.field import MissingField
+from hachoir_core.field import MissingField
 
 class FakeArray:
     """
diff --git a/lib/hachoir_core/field/field.py b/lib/hachoir_core/field/field.py
index ccb9e17274d6279dba96f56e5469c8b9b3f6441f..e4c949af7348d6ec813f6a7bc6ac3d399198eed1 100644
--- a/lib/hachoir_core/field/field.py
+++ b/lib/hachoir_core/field/field.py
@@ -2,12 +2,12 @@
 Parent of all (field) classes in Hachoir: Field.
 """
 
-from lib.hachoir_core.compatibility import reversed
-from lib.hachoir_core.stream import InputFieldStream
-from lib.hachoir_core.error import HachoirError, HACHOIR_ERRORS
-from lib.hachoir_core.log import Logger
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.tools import makePrintable
+from hachoir_core.compatibility import reversed
+from hachoir_core.stream import InputFieldStream
+from hachoir_core.error import HachoirError, HACHOIR_ERRORS
+from hachoir_core.log import Logger
+from hachoir_core.i18n import _
+from hachoir_core.tools import makePrintable
 from weakref import ref as weakref_ref
 
 class FieldError(HachoirError):
diff --git a/lib/hachoir_core/field/field_set.py b/lib/hachoir_core/field/field_set.py
index c535081f920ef0f53d4e05df20265674228eef49..92b5192626df6c2636816f07653e208b600887f5 100644
--- a/lib/hachoir_core/field/field_set.py
+++ b/lib/hachoir_core/field/field_set.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import BasicFieldSet, GenericFieldSet
+from hachoir_core.field import BasicFieldSet, GenericFieldSet
 
 class FieldSet(GenericFieldSet):
     def __init__(self, parent, name, *args, **kw):
diff --git a/lib/hachoir_core/field/float.py b/lib/hachoir_core/field/float.py
index 56d77867108ea2a6dca29c5d9a7b8d8cbd4d5e26..27f9756300d7c093e91dd4a5d14243eb3429e7a3 100644
--- a/lib/hachoir_core/field/float.py
+++ b/lib/hachoir_core/field/float.py
@@ -1,5 +1,5 @@
-from lib.hachoir_core.field import Bit, Bits, FieldSet
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.field import Bit, Bits, FieldSet
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
 import struct
 
 # Make sure that we use right struct types
diff --git a/lib/hachoir_core/field/generic_field_set.py b/lib/hachoir_core/field/generic_field_set.py
index 66634827fa0a3f8017a13c6c51b1ddc8af481151..a3b5eb7d59df16ba159c8764129f6d2242e1bb9d 100644
--- a/lib/hachoir_core/field/generic_field_set.py
+++ b/lib/hachoir_core/field/generic_field_set.py
@@ -1,9 +1,9 @@
-from lib.hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
+from hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
     createRawField, createNullField, createPaddingField, FakeArray)
-from lib.hachoir_core.dict import Dict, UniqKeyError
-from lib.hachoir_core.error import HACHOIR_ERRORS
-from lib.hachoir_core.tools import lowerBound
-import lib.hachoir_core.config as config
+from hachoir_core.dict import Dict, UniqKeyError
+from hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.tools import lowerBound
+import hachoir_core.config as config
 
 class GenericFieldSet(BasicFieldSet):
     """
diff --git a/lib/hachoir_core/field/helper.py b/lib/hachoir_core/field/helper.py
index 174d79e28f5772632013d516763e1c9702d88841..ba44f68e3d848de7a0d7f5eb22942e506d307e1e 100644
--- a/lib/hachoir_core/field/helper.py
+++ b/lib/hachoir_core/field/helper.py
@@ -1,9 +1,9 @@
-from lib.hachoir_core.field import (FieldError,
+from hachoir_core.field import (FieldError,
     RawBits, RawBytes,
     PaddingBits, PaddingBytes,
     NullBits, NullBytes,
     GenericString, GenericInteger)
-from lib.hachoir_core.stream import FileOutputStream
+from hachoir_core.stream import FileOutputStream
 
 def createRawField(parent, size, name="raw[]", description=None):
     if size <= 0:
diff --git a/lib/hachoir_core/field/integer.py b/lib/hachoir_core/field/integer.py
index bad649964fcd1ffdfe3a67588ce939d97038573b..763f1d2f0981d077b79990cd9380b00e23b0c5aa 100644
--- a/lib/hachoir_core/field/integer.py
+++ b/lib/hachoir_core/field/integer.py
@@ -4,7 +4,7 @@ Integer field classes:
 - Int8, Int16, Int24, Int32, Int64: signed integer of 8, 16, 32, 64 bits.
 """
 
-from lib.hachoir_core.field import Bits, FieldError
+from hachoir_core.field import Bits, FieldError
 
 class GenericInteger(Bits):
     """
diff --git a/lib/hachoir_core/field/link.py b/lib/hachoir_core/field/link.py
index cccf2e670834f9c4b115ef5467e1f47eec8e41a7..b331c3b880e7fdb9bd890fd08e5d5fa3b638b735 100644
--- a/lib/hachoir_core/field/link.py
+++ b/lib/hachoir_core/field/link.py
@@ -1,5 +1,5 @@
-from lib.hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
-from lib.hachoir_core.stream import FragmentedStream
+from hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
+from hachoir_core.stream import FragmentedStream
 
 
 class Link(Field):
diff --git a/lib/hachoir_core/field/new_seekable_field_set.py b/lib/hachoir_core/field/new_seekable_field_set.py
index 22403b6db4388924c8dcade0a84423d9394b54e4..d145ab961dfd57cf9c30455ea23f8f5a0f6493ec 100644
--- a/lib/hachoir_core/field/new_seekable_field_set.py
+++ b/lib/hachoir_core/field/new_seekable_field_set.py
@@ -1,5 +1,5 @@
-from lib.hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
-from lib.hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
+from hachoir_core.error import HACHOIR_ERRORS
 
 # getgaps(int, int, [listof (int, int)]) -> generator of (int, int)
 # Gets all the gaps not covered by a block in `blocks` from `start` for `length` units.
diff --git a/lib/hachoir_core/field/padding.py b/lib/hachoir_core/field/padding.py
index 3d0fcc0ffec9bccf1281e0f4e755b2f50fe8cf0f..c1c4b8c07a62b1dcf5e32fa520ddb28f0c0e45a2 100644
--- a/lib/hachoir_core/field/padding.py
+++ b/lib/hachoir_core/field/padding.py
@@ -1,6 +1,6 @@
-from lib.hachoir_core.field import Bits, Bytes
-from lib.hachoir_core.tools import makePrintable, humanFilesize
-from lib.hachoir_core import config
+from hachoir_core.field import Bits, Bytes
+from hachoir_core.tools import makePrintable, humanFilesize
+from hachoir_core import config
 
 class PaddingBits(Bits):
     """
diff --git a/lib/hachoir_core/field/parser.py b/lib/hachoir_core/field/parser.py
index f4aebadd6707f9a04c71e5447fd86a007aff8672..e294e0246576d56ecbdf96d808c82393d6feeccc 100644
--- a/lib/hachoir_core/field/parser.py
+++ b/lib/hachoir_core/field/parser.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.field import GenericFieldSet
-from lib.hachoir_core.log import Logger
-import lib.hachoir_core.config as config
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.field import GenericFieldSet
+from hachoir_core.log import Logger
+import hachoir_core.config as config
 
 class Parser(GenericFieldSet):
     """
diff --git a/lib/hachoir_core/field/seekable_field_set.py b/lib/hachoir_core/field/seekable_field_set.py
index ee7b11278b477b0767ea82261a3b681367ef02ed..9bc3fbbc131e0262e4d11c3a2fc180e64af9b2ff 100644
--- a/lib/hachoir_core/field/seekable_field_set.py
+++ b/lib/hachoir_core/field/seekable_field_set.py
@@ -1,8 +1,8 @@
-from lib.hachoir_core.field import Field, BasicFieldSet, FakeArray, MissingField, ParserError
-from lib.hachoir_core.tools import makeUnicode
-from lib.hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.field import Field, BasicFieldSet, FakeArray, MissingField, ParserError
+from hachoir_core.tools import makeUnicode
+from hachoir_core.error import HACHOIR_ERRORS
 from itertools import repeat
-import lib.hachoir_core.config as config
+import hachoir_core.config as config
 
 class RootSeekableFieldSet(BasicFieldSet):
     def __init__(self, parent, name, stream, description, size):
diff --git a/lib/hachoir_core/field/static_field_set.py b/lib/hachoir_core/field/static_field_set.py
index 2e9e689e7a13e5ac4ea32771cb47d2b1c3f76edd..afe6cdb07967e6036f43b8b2e24c75eae2eecf5f 100644
--- a/lib/hachoir_core/field/static_field_set.py
+++ b/lib/hachoir_core/field/static_field_set.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import FieldSet, ParserError
+from hachoir_core.field import FieldSet, ParserError
 
 class StaticFieldSet(FieldSet):
     """
diff --git a/lib/hachoir_core/field/string_field.py b/lib/hachoir_core/field/string_field.py
index e2bb4ed088dcc894c65bb9fcd874de584207df93..e44e24dc69053fe0f9409958cee98461911f3aeb 100644
--- a/lib/hachoir_core/field/string_field.py
+++ b/lib/hachoir_core/field/string_field.py
@@ -15,11 +15,11 @@ Note: For PascalStringXX, prefixed value is the number of bytes and not
       of characters!
 """
 
-from lib.hachoir_core.field import FieldError, Bytes
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_core.tools import alignValue, makePrintable
-from lib.hachoir_core.i18n import guessBytesCharset, _
-from lib.hachoir_core import config
+from hachoir_core.field import FieldError, Bytes
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.tools import alignValue, makePrintable
+from hachoir_core.i18n import guessBytesCharset, _
+from hachoir_core import config
 from codecs import BOM_UTF16_LE, BOM_UTF16_BE, BOM_UTF32_LE, BOM_UTF32_BE
 
 # Default charset used to convert byte string to Unicode
diff --git a/lib/hachoir_core/field/sub_file.py b/lib/hachoir_core/field/sub_file.py
index b5993ba4fcb020732086f6b471c08753618abc2c..0f2912d403aea55f8984786d17f48e1e05ba7f04 100644
--- a/lib/hachoir_core/field/sub_file.py
+++ b/lib/hachoir_core/field/sub_file.py
@@ -1,6 +1,6 @@
-from lib.hachoir_core.field import Bytes
-from lib.hachoir_core.tools import makePrintable, humanFilesize
-from lib.hachoir_core.stream import InputIOStream
+from hachoir_core.field import Bytes
+from hachoir_core.tools import makePrintable, humanFilesize
+from hachoir_core.stream import InputIOStream
 
 class SubFile(Bytes):
     """
diff --git a/lib/hachoir_core/field/timestamp.py b/lib/hachoir_core/field/timestamp.py
index 579065375fac639334bb4d364549a98bb1c94dc9..a533a4b22200c0f8855760dc667408782fc59a36 100644
--- a/lib/hachoir_core/field/timestamp.py
+++ b/lib/hachoir_core/field/timestamp.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.tools import (humanDatetime, humanDuration,
+from hachoir_core.tools import (humanDatetime, humanDuration,
     timestampUNIX, timestampMac32, timestampUUID60,
     timestampWin64, durationWin64)
-from lib.hachoir_core.field import Bits, FieldSet
+from hachoir_core.field import Bits, FieldSet
 from datetime import datetime
 
 class GenericTimestamp(Bits):
diff --git a/lib/hachoir_core/field/vector.py b/lib/hachoir_core/field/vector.py
index eba86471130b23b26b208af68f620c587fc5461b..953fdbc3d27053c9eb200580806bae720fc76588 100644
--- a/lib/hachoir_core/field/vector.py
+++ b/lib/hachoir_core/field/vector.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import Field, FieldSet, ParserError
+from hachoir_core.field import Field, FieldSet, ParserError
 
 class GenericVector(FieldSet):
     def __init__(self, parent, name, nb_items, item_class, item_name="item", description=None):
diff --git a/lib/hachoir_core/i18n.py b/lib/hachoir_core/i18n.py
index 8babf8e98d3df79d6f01a1dad326e1ef3ba303d3..b34c748072e90f1f8f3019ea3491c48eb4f5b8a3 100644
--- a/lib/hachoir_core/i18n.py
+++ b/lib/hachoir_core/i18n.py
@@ -14,8 +14,8 @@ WARNING: Loading this module indirectly calls initLocale() which sets
          settings.
 """
 
-import lib.hachoir_core.config as config
-import lib.hachoir_core
+import hachoir_core.config as config
+import hachoir_core
 import locale
 from os import path
 import sys
@@ -133,7 +133,7 @@ def _initGettext():
         return (_dummy_gettext, _dummy_ngettext)
 
     # Gettext variables
-    package = lib.hachoir_core.PACKAGE
+    package = hachoir_core.PACKAGE
     locale_dir = path.join(path.dirname(__file__), "..", "locale")
 
     # Initialize gettext module
diff --git a/lib/hachoir_core/language.py b/lib/hachoir_core/language.py
index 2f80ddce5d9207aade6c4e84ce1485df004a7cc9..997f7a61d981cbab80150404e2ccbcbc2ff6e201 100644
--- a/lib/hachoir_core/language.py
+++ b/lib/hachoir_core/language.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.iso639 import ISO639_2
+from hachoir_core.iso639 import ISO639_2
 
 class Language:
     def __init__(self, code):
diff --git a/lib/hachoir_core/log.py b/lib/hachoir_core/log.py
index f777ab6b065c632d6b2c90adfaa0e8433c8d7170..32fca06d03b3722251a71c79ea67aeecd4731d6a 100644
--- a/lib/hachoir_core/log.py
+++ b/lib/hachoir_core/log.py
@@ -1,6 +1,6 @@
 import os, sys, time
-import lib.hachoir_core.config as config
-from lib.hachoir_core.i18n import _
+import hachoir_core.config as config
+from hachoir_core.i18n import _
 
 class Log:
     LOG_INFO   = 0
@@ -75,7 +75,7 @@ class Log:
            level <= self.LOG_INFO and not config.verbose:
             return
         if config.debug:
-            from lib.hachoir_core.error import getBacktrace
+            from hachoir_core.error import getBacktrace
             backtrace = getBacktrace(None)
             if backtrace:
                 text += "\n\n" + backtrace
diff --git a/lib/hachoir_core/stream/__init__.py b/lib/hachoir_core/stream/__init__.py
index c2a8f6dcda4f117c1451ab6900a195e4ac19f6ed..163e12a3de702133a1f9dd4ab97f0e642a490555 100644
--- a/lib/hachoir_core/stream/__init__.py
+++ b/lib/hachoir_core/stream/__init__.py
@@ -1,11 +1,11 @@
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.stream.stream import StreamError
-from lib.hachoir_core.stream.input import (
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.stream.stream import StreamError
+from hachoir_core.stream.input import (
         InputStreamError,
         InputStream, InputIOStream, StringInputStream,
         InputSubStream, InputFieldStream,
         FragmentedStream, ConcatStream)
-from lib.hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
-from lib.hachoir_core.stream.output import (OutputStreamError,
+from hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
+from hachoir_core.stream.output import (OutputStreamError,
         FileOutputStream, StringOutputStream, OutputStream)
 
diff --git a/lib/hachoir_core/stream/input.py b/lib/hachoir_core/stream/input.py
index ec01e6e46654dda5c5dfe5428c09c0bd7883807e..ec2c27c1a2332c7ec19f4ed06e076a0773d8592d 100644
--- a/lib/hachoir_core/stream/input.py
+++ b/lib/hachoir_core/stream/input.py
@@ -1,14 +1,14 @@
-from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.error import info
-from lib.hachoir_core.log import Logger
-from lib.hachoir_core.bits import str2long
-from lib.hachoir_core.i18n import getTerminalCharset
-from lib.hachoir_core.tools import lowerBound
-from lib.hachoir_core.i18n import _
+from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.error import info
+from hachoir_core.log import Logger
+from hachoir_core.bits import str2long
+from hachoir_core.i18n import getTerminalCharset
+from hachoir_core.tools import lowerBound
+from hachoir_core.i18n import _
 from os import dup, fdopen
 from errno import ESPIPE
 from weakref import ref as weakref_ref
-from lib.hachoir_core.stream import StreamError
+from hachoir_core.stream import StreamError
 
 class InputStreamError(StreamError):
     pass
diff --git a/lib/hachoir_core/stream/input_helper.py b/lib/hachoir_core/stream/input_helper.py
index 9c222f3a76305ec075519c61e65246ee6119864a..e793831029f6f6508ab749e772530e6994b1d929 100644
--- a/lib/hachoir_core/stream/input_helper.py
+++ b/lib/hachoir_core/stream/input_helper.py
@@ -1,5 +1,5 @@
-from lib.hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
-from lib.hachoir_core.stream import InputIOStream, InputSubStream, InputStreamError
+from hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
+from hachoir_core.stream import InputIOStream, InputSubStream, InputStreamError
 
 def FileInputStream(filename, real_filename=None, **args):
     """
diff --git a/lib/hachoir_core/stream/output.py b/lib/hachoir_core/stream/output.py
index a809f76b60a5d2b30b876a8751a5c0100293f6f7..e31637d699a9b5993f53159a63c07b13d9c3ba3f 100644
--- a/lib/hachoir_core/stream/output.py
+++ b/lib/hachoir_core/stream/output.py
@@ -1,7 +1,7 @@
 from cStringIO import StringIO
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.bits import long2raw
-from lib.hachoir_core.stream import StreamError
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.bits import long2raw
+from hachoir_core.stream import StreamError
 from errno import EBADF
 
 MAX_READ_NBYTES = 2 ** 16
diff --git a/lib/hachoir_core/stream/stream.py b/lib/hachoir_core/stream/stream.py
index 101fcf68deec2e66d21dfc4b03bfb38a459f9ade..58c9aea83440aaa005adb75c7d9f18a618fb3dad 100644
--- a/lib/hachoir_core/stream/stream.py
+++ b/lib/hachoir_core/stream/stream.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.error import HachoirError
+from hachoir_core.error import HachoirError
 
 class StreamError(HachoirError):
     pass
diff --git a/lib/hachoir_core/text_handler.py b/lib/hachoir_core/text_handler.py
index 1a67e9be045e89b409be495e2145b0c9abb7e46a..e2c65f0a00ddf241e0dcefdd1384cc5558c3b7dd 100644
--- a/lib/hachoir_core/text_handler.py
+++ b/lib/hachoir_core/text_handler.py
@@ -2,12 +2,12 @@
 Utilities used to convert a field to human classic reprentation of data.
 """
 
-from lib.hachoir_core.tools import (
+from hachoir_core.tools import (
     humanDuration, humanFilesize, alignValue,
     durationWin64 as doDurationWin64,
     deprecated)
 from types import FunctionType, MethodType
-from lib.hachoir_core.field import Field
+from hachoir_core.field import Field
 
 def textHandler(field, handler):
     assert isinstance(handler, (FunctionType, MethodType))
diff --git a/lib/hachoir_core/tools.py b/lib/hachoir_core/tools.py
index 1994dbfb6d07ed4a3d69014eb02723417e817011..30fa327ab87717aa0e8a2b1d666de94f486c7ccb 100644
--- a/lib/hachoir_core/tools.py
+++ b/lib/hachoir_core/tools.py
@@ -4,7 +4,7 @@
 Various utilities.
 """
 
-from lib.hachoir_core.i18n import _, ngettext
+from hachoir_core.i18n import _, ngettext
 import re
 import stat
 from datetime import datetime, timedelta, MAXYEAR
diff --git a/lib/hachoir_metadata/__init__.py b/lib/hachoir_metadata/__init__.py
index 54adbaa85b59e636c78d0b11f2bf7a413da65f95..5ab4743cf6b63a790d1b3b3ee3ce2542292f5926 100644
--- a/lib/hachoir_metadata/__init__.py
+++ b/lib/hachoir_metadata/__init__.py
@@ -1,15 +1,15 @@
-from lib.hachoir_metadata.version import VERSION as __version__
-from lib.hachoir_metadata.metadata import extractMetadata
+from hachoir_metadata.version import VERSION as __version__
+from hachoir_metadata.metadata import extractMetadata
 
 # Just import the module,
 # each module use registerExtractor() method
-import lib.hachoir_metadata.archive
-import lib.hachoir_metadata.audio
-import lib.hachoir_metadata.file_system
-import lib.hachoir_metadata.image
-import lib.hachoir_metadata.jpeg
-import lib.hachoir_metadata.misc
-import lib.hachoir_metadata.program
-import lib.hachoir_metadata.riff
-import lib.hachoir_metadata.video
+import hachoir_metadata.archive
+import hachoir_metadata.audio
+import hachoir_metadata.file_system
+import hachoir_metadata.image
+import hachoir_metadata.jpeg
+import hachoir_metadata.misc
+import hachoir_metadata.program
+import hachoir_metadata.riff
+import hachoir_metadata.video
 
diff --git a/lib/hachoir_metadata/archive.py b/lib/hachoir_metadata/archive.py
index 64289ac9c963207777437511f45f2f92276ce123..7fa39ea71d75e9cff4d35ad3773142465dfd9f07 100644
--- a/lib/hachoir_metadata/archive.py
+++ b/lib/hachoir_metadata/archive.py
@@ -1,11 +1,11 @@
-from lib.hachoir_metadata.metadata_item import QUALITY_BEST, QUALITY_FASTEST
-from lib.hachoir_metadata.safe import fault_tolerant, getValue
-from lib.hachoir_metadata.metadata import (
+from hachoir_metadata.metadata_item import QUALITY_BEST, QUALITY_FASTEST
+from hachoir_metadata.safe import fault_tolerant, getValue
+from hachoir_metadata.metadata import (
     RootMetadata, Metadata, MultipleMetadata, registerExtractor)
-from lib.hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
+from hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
     TarFile, ZipFile, MarFile)
-from lib.hachoir_core.tools import humanUnixAttributes
-from lib.hachoir_core.i18n import _
+from hachoir_core.tools import humanUnixAttributes
+from hachoir_core.i18n import _
 
 def maxNbFile(meta):
     if meta.quality <= QUALITY_FASTEST:
diff --git a/lib/hachoir_metadata/audio.py b/lib/hachoir_metadata/audio.py
index 86284c4718158efcd09042f597252a15d53dcb12..566613e0ccfe06249687b2eac8c76ed0dd67953b 100644
--- a/lib/hachoir_metadata/audio.py
+++ b/lib/hachoir_metadata/audio.py
@@ -1,12 +1,12 @@
-from lib.hachoir_metadata.metadata import (registerExtractor,
+from hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from lib.hachoir_parser.audio import AuFile, MpegAudioFile, RealAudioFile, AiffFile, FlacParser
-from lib.hachoir_parser.container import OggFile, RealMediaFile
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.tools import makePrintable, timedelta2seconds, humanBitRate
+from hachoir_parser.audio import AuFile, MpegAudioFile, RealAudioFile, AiffFile, FlacParser
+from hachoir_parser.container import OggFile, RealMediaFile
+from hachoir_core.i18n import _
+from hachoir_core.tools import makePrintable, timedelta2seconds, humanBitRate
 from datetime import timedelta
-from lib.hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
-from lib.hachoir_metadata.safe import fault_tolerant, getValue
+from hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
+from hachoir_metadata.safe import fault_tolerant, getValue
 
 def computeComprRate(meta, size):
     if not meta.has("duration") \
diff --git a/lib/hachoir_metadata/file_system.py b/lib/hachoir_metadata/file_system.py
index ff5ff9979f8dc218b9d010cef3871b1643e81cf7..b111c486202f050cddd96b896dc05752dbc53d70 100644
--- a/lib/hachoir_metadata/file_system.py
+++ b/lib/hachoir_metadata/file_system.py
@@ -1,6 +1,6 @@
-from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
-from lib.hachoir_metadata.safe import fault_tolerant
-from lib.hachoir_parser.file_system import ISO9660
+from hachoir_metadata.metadata import RootMetadata, registerExtractor
+from hachoir_metadata.safe import fault_tolerant
+from hachoir_parser.file_system import ISO9660
 from datetime import datetime
 
 class ISO9660_Metadata(RootMetadata):
diff --git a/lib/hachoir_metadata/filter.py b/lib/hachoir_metadata/filter.py
index 0807c5d7887f5cef0ec348436a916fed9805d9d4..b4af8e3c6dc396ba95cb18b5b0b9e7049d3a4e04 100644
--- a/lib/hachoir_metadata/filter.py
+++ b/lib/hachoir_metadata/filter.py
@@ -1,4 +1,4 @@
-from lib.hachoir_metadata.timezone import UTC
+from hachoir_metadata.timezone import UTC
 from datetime import date, datetime
 
 # Year in 1850..2030
diff --git a/lib/hachoir_metadata/formatter.py b/lib/hachoir_metadata/formatter.py
index d52c12b2c037a919f68b0695dd1b82a4f2562a50..0d04f92000337a3fb860a27a370c32a03b278ae8 100644
--- a/lib/hachoir_metadata/formatter.py
+++ b/lib/hachoir_metadata/formatter.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.i18n import _, ngettext
+from hachoir_core.i18n import _, ngettext
 
 NB_CHANNEL_NAME = {1: _("mono"), 2: _("stereo")}
 
diff --git a/lib/hachoir_metadata/image.py b/lib/hachoir_metadata/image.py
index fbe41a3cb5f888c2638790528b99459731c3e249..905cdd7939f728fee4e7bf32c3220e5c6e289420 100644
--- a/lib/hachoir_metadata/image.py
+++ b/lib/hachoir_metadata/image.py
@@ -1,12 +1,12 @@
-from lib.hachoir_metadata.metadata import (registerExtractor,
+from hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from lib.hachoir_parser.image import (
+from hachoir_parser.image import (
     BmpFile, IcoFile, PcxFile, GifFile, PngFile, TiffFile,
     XcfFile, TargaFile, WMF_File, PsdFile)
-from lib.hachoir_parser.image.png import getBitsPerPixel as pngBitsPerPixel
-from lib.hachoir_parser.image.xcf import XcfProperty
-from lib.hachoir_core.i18n import _
-from lib.hachoir_metadata.safe import fault_tolerant
+from hachoir_parser.image.png import getBitsPerPixel as pngBitsPerPixel
+from hachoir_parser.image.xcf import XcfProperty
+from hachoir_core.i18n import _
+from hachoir_metadata.safe import fault_tolerant
 
 def computeComprRate(meta, compr_size):
     """
diff --git a/lib/hachoir_metadata/jpeg.py b/lib/hachoir_metadata/jpeg.py
index 9a3fe1aa138d5857f724e90265c7cdd16739ff8f..29247dc6fe7696b536d31a5181e7478ff6b7463b 100644
--- a/lib/hachoir_metadata/jpeg.py
+++ b/lib/hachoir_metadata/jpeg.py
@@ -1,14 +1,14 @@
-from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
-from lib.hachoir_metadata.image import computeComprRate
-from lib.hachoir_parser.image.exif import ExifEntry
-from lib.hachoir_parser.image.jpeg import (
+from hachoir_metadata.metadata import RootMetadata, registerExtractor
+from hachoir_metadata.image import computeComprRate
+from hachoir_parser.image.exif import ExifEntry
+from hachoir_parser.image.jpeg import (
     JpegFile, JpegChunk,
     QUALITY_HASH_COLOR, QUALITY_SUM_COLOR,
     QUALITY_HASH_GRAY, QUALITY_SUM_GRAY)
-from lib.hachoir_core.field import MissingField
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.tools import makeUnicode
-from lib.hachoir_metadata.safe import fault_tolerant
+from hachoir_core.field import MissingField
+from hachoir_core.i18n import _
+from hachoir_core.tools import makeUnicode
+from hachoir_metadata.safe import fault_tolerant
 from datetime import datetime
 
 def deg2float(degree, minute, second):
diff --git a/lib/hachoir_metadata/metadata.py b/lib/hachoir_metadata/metadata.py
index 489a54667272ff975d53c4d70b583c71d23696b0..37461c9d55986fdaea68b7d35d7f1a093e87dc00 100644
--- a/lib/hachoir_metadata/metadata.py
+++ b/lib/hachoir_metadata/metadata.py
@@ -1,14 +1,14 @@
 # -*- coding: utf-8 -*-
-from lib.hachoir_core.compatibility import any, sorted
-from lib.hachoir_core.endian import endian_name
-from lib.hachoir_core.tools import makePrintable, makeUnicode
-from lib.hachoir_core.dict import Dict
-from lib.hachoir_core.error import error, HACHOIR_ERRORS
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.log import Logger
-from lib.hachoir_metadata.metadata_item import (
+from hachoir_core.compatibility import any, sorted
+from hachoir_core.endian import endian_name
+from hachoir_core.tools import makePrintable, makeUnicode
+from hachoir_core.dict import Dict
+from hachoir_core.error import error, HACHOIR_ERRORS
+from hachoir_core.i18n import _
+from hachoir_core.log import Logger
+from hachoir_metadata.metadata_item import (
     MIN_PRIORITY, MAX_PRIORITY, QUALITY_NORMAL)
-from lib.hachoir_metadata.register import registerAllItems
+from hachoir_metadata.register import registerAllItems
 
 extractors = {}
 
diff --git a/lib/hachoir_metadata/metadata_item.py b/lib/hachoir_metadata/metadata_item.py
index 4b5573af9fe370a392c148cbef2b80ce45bc18e0..bddd3b07425b89385225356ca55cc1bf14f3a7bc 100644
--- a/lib/hachoir_metadata/metadata_item.py
+++ b/lib/hachoir_metadata/metadata_item.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.tools import makeUnicode, normalizeNewline
-from lib.hachoir_core.error import HACHOIR_ERRORS
-from lib.hachoir_metadata import config
-from lib.hachoir_metadata.setter import normalizeString
+from hachoir_core.tools import makeUnicode, normalizeNewline
+from hachoir_core.error import HACHOIR_ERRORS
+from hachoir_metadata import config
+from hachoir_metadata.setter import normalizeString
 
 MIN_PRIORITY = 100
 MAX_PRIORITY = 999
diff --git a/lib/hachoir_metadata/misc.py b/lib/hachoir_metadata/misc.py
index 6764778469953d54797858ad3d2aad7afda2cd4a..04c70a6e7047118ae81ffc8c67aac88eabe84885 100644
--- a/lib/hachoir_metadata/misc.py
+++ b/lib/hachoir_metadata/misc.py
@@ -1,11 +1,11 @@
-from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
-from lib.hachoir_metadata.safe import fault_tolerant
-from lib.hachoir_parser.container import SwfFile
-from lib.hachoir_parser.misc import TorrentFile, TrueTypeFontFile, OLE2_File, PcfFile
-from lib.hachoir_core.field import isString
-from lib.hachoir_core.error import warning
-from lib.hachoir_parser import guessParser
-from lib.hachoir_metadata.setter import normalizeString
+from hachoir_metadata.metadata import RootMetadata, registerExtractor
+from hachoir_metadata.safe import fault_tolerant
+from hachoir_parser.container import SwfFile
+from hachoir_parser.misc import TorrentFile, TrueTypeFontFile, OLE2_File, PcfFile
+from hachoir_core.field import isString
+from hachoir_core.error import warning
+from hachoir_parser import guessParser
+from hachoir_metadata.setter import normalizeString
 
 class TorrentMetadata(RootMetadata):
     KEY_TO_ATTR = {
diff --git a/lib/hachoir_metadata/program.py b/lib/hachoir_metadata/program.py
index 14027d509042431a8266909235a33e8444fa0c79..a524cee62db8e902d8cda9b5dd0259bb0b61e531 100644
--- a/lib/hachoir_metadata/program.py
+++ b/lib/hachoir_metadata/program.py
@@ -1,6 +1,6 @@
-from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
-from lib.hachoir_parser.program import ExeFile
-from lib.hachoir_metadata.safe import fault_tolerant, getValue
+from hachoir_metadata.metadata import RootMetadata, registerExtractor
+from hachoir_parser.program import ExeFile
+from hachoir_metadata.safe import fault_tolerant, getValue
 
 class ExeMetadata(RootMetadata):
     KEY_TO_ATTR = {
diff --git a/lib/hachoir_metadata/register.py b/lib/hachoir_metadata/register.py
index 9916d36f7c93a93e132fe43587eceac755808cc5..3cbde86dd86987f78b357e6fb87b69fe144aa2b2 100644
--- a/lib/hachoir_metadata/register.py
+++ b/lib/hachoir_metadata/register.py
@@ -1,17 +1,17 @@
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.tools import (
+from hachoir_core.i18n import _
+from hachoir_core.tools import (
     humanDuration, humanBitRate,
     humanFrequency, humanBitSize, humanFilesize,
     humanDatetime)
-from lib.hachoir_core.language import Language
-from lib.hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
+from hachoir_core.language import Language
+from hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
 from datetime import date, datetime, timedelta
-from lib.hachoir_metadata.formatter import (
+from hachoir_metadata.formatter import (
     humanAudioChannel, humanFrameRate, humanComprRate, humanAltitude,
     humanPixelSize, humanDPI)
-from lib.hachoir_metadata.setter import (
+from hachoir_metadata.setter import (
     setDatetime, setTrackNumber, setTrackTotal, setLanguage)
-from lib.hachoir_metadata.metadata_item import Data
+from hachoir_metadata.metadata_item import Data
 
 MIN_SAMPLE_RATE = 1000              # 1 kHz
 MAX_SAMPLE_RATE = 192000            # 192 kHz
diff --git a/lib/hachoir_metadata/riff.py b/lib/hachoir_metadata/riff.py
index e3bfa6f4d3fbc0e6615540a03aa20ed3fc23b66d..adcc0bd9030eeb189459fcd33b09d1aac04f8a38 100644
--- a/lib/hachoir_metadata/riff.py
+++ b/lib/hachoir_metadata/riff.py
@@ -2,13 +2,13 @@
 Extract metadata from RIFF file format: AVI video and WAV sound.
 """
 
-from lib.hachoir_metadata.metadata import Metadata, MultipleMetadata, registerExtractor
-from lib.hachoir_metadata.safe import fault_tolerant, getValue
-from lib.hachoir_parser.container.riff import RiffFile
-from lib.hachoir_parser.video.fourcc import UNCOMPRESSED_AUDIO
-from lib.hachoir_core.tools import humanFilesize, makeUnicode, timedelta2seconds
-from lib.hachoir_core.i18n import _
-from lib.hachoir_metadata.audio import computeComprRate as computeAudioComprRate
+from hachoir_metadata.metadata import Metadata, MultipleMetadata, registerExtractor
+from hachoir_metadata.safe import fault_tolerant, getValue
+from hachoir_parser.container.riff import RiffFile
+from hachoir_parser.video.fourcc import UNCOMPRESSED_AUDIO
+from hachoir_core.tools import humanFilesize, makeUnicode, timedelta2seconds
+from hachoir_core.i18n import _
+from hachoir_metadata.audio import computeComprRate as computeAudioComprRate
 from datetime import timedelta
 
 class RiffMetadata(MultipleMetadata):
diff --git a/lib/hachoir_metadata/safe.py b/lib/hachoir_metadata/safe.py
index 708a3c2f93ee43c20043f8daa49dbd1a6a875280..e1d91abb240d0526d2efd86d5983dee9efef5124 100644
--- a/lib/hachoir_metadata/safe.py
+++ b/lib/hachoir_metadata/safe.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.error import HACHOIR_ERRORS, warning
+from hachoir_core.error import HACHOIR_ERRORS, warning
 
 def fault_tolerant(func, *args):
     def safe_func(*args, **kw):
diff --git a/lib/hachoir_metadata/setter.py b/lib/hachoir_metadata/setter.py
index 77ecf66886e199f59d5bd1888bd3c7ecfde3d8e2..41da41407b80b7773ffa05fd8b1dd5ea23e8bf87 100644
--- a/lib/hachoir_metadata/setter.py
+++ b/lib/hachoir_metadata/setter.py
@@ -1,10 +1,10 @@
 from datetime import date, datetime
 import re
-from lib.hachoir_core.language import Language
+from hachoir_core.language import Language
 from locale import setlocale, LC_ALL
 from time import strptime
-from lib.hachoir_metadata.timezone import createTimezone
-from lib.hachoir_metadata import config
+from hachoir_metadata.timezone import createTimezone
+from hachoir_metadata import config
 
 NORMALIZE_REGEX = re.compile("[-/.: ]+")
 YEAR_REGEX1 = re.compile("^([0-9]{4})$")
diff --git a/lib/hachoir_metadata/video.py b/lib/hachoir_metadata/video.py
index e7cdc682347ec00da04a761bd17638d18d240878..215ef225a667caead77b5abad687ed2b13fdcda7 100644
--- a/lib/hachoir_metadata/video.py
+++ b/lib/hachoir_metadata/video.py
@@ -1,14 +1,14 @@
-from lib.hachoir_core.field import MissingField
-from lib.hachoir_metadata.metadata import (registerExtractor,
+from hachoir_core.field import MissingField
+from hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from lib.hachoir_metadata.metadata_item import QUALITY_GOOD
-from lib.hachoir_metadata.safe import fault_tolerant
-from lib.hachoir_parser.video import MovFile, AsfFile, FlvFile
-from lib.hachoir_parser.video.asf import Descriptor as ASF_Descriptor
-from lib.hachoir_parser.container import MkvFile
-from lib.hachoir_parser.container.mkv import dateToDatetime
-from lib.hachoir_core.i18n import _
-from lib.hachoir_core.tools import makeUnicode, makePrintable, timedelta2seconds
+from hachoir_metadata.metadata_item import QUALITY_GOOD
+from hachoir_metadata.safe import fault_tolerant
+from hachoir_parser.video import MovFile, AsfFile, FlvFile
+from hachoir_parser.video.asf import Descriptor as ASF_Descriptor
+from hachoir_parser.container import MkvFile
+from hachoir_parser.container.mkv import dateToDatetime
+from hachoir_core.i18n import _
+from hachoir_core.tools import makeUnicode, makePrintable, timedelta2seconds
 from datetime import timedelta
 
 class MkvMetadata(MultipleMetadata):
diff --git a/lib/hachoir_parser/__init__.py b/lib/hachoir_parser/__init__.py
index 0d1e04699633e25a96979e3ed6b9ddb0a99f11aa..1b9860abb7cfff7bd2666b8cf8aeac9d0f237974 100644
--- a/lib/hachoir_parser/__init__.py
+++ b/lib/hachoir_parser/__init__.py
@@ -1,7 +1,7 @@
-from lib.hachoir_parser.version import __version__
-from lib.hachoir_parser.parser import ValidateError, HachoirParser, Parser
-from lib.hachoir_parser.parser_list import ParserList, HachoirParserList
-from lib.hachoir_parser.guess import (QueryParser, guessParser, createParser)
-from lib.hachoir_parser import (archive, audio, container,
+from hachoir_parser.version import __version__
+from hachoir_parser.parser import ValidateError, HachoirParser, Parser
+from hachoir_parser.parser_list import ParserList, HachoirParserList
+from hachoir_parser.guess import (QueryParser, guessParser, createParser)
+from hachoir_parser import (archive, audio, container,
     file_system, image, game, misc, network, program, video)
 
diff --git a/lib/hachoir_parser/archive/__init__.py b/lib/hachoir_parser/archive/__init__.py
index 86fbb9eba2dff9e36a6b73f4d37f276268b63ee7..ecd09e8f8b2968459bf6202c6003cb42a1efc5cf 100644
--- a/lib/hachoir_parser/archive/__init__.py
+++ b/lib/hachoir_parser/archive/__init__.py
@@ -1,12 +1,12 @@
-from lib.hachoir_parser.archive.ace import AceFile
-from lib.hachoir_parser.archive.ar import ArchiveFile
-from lib.hachoir_parser.archive.bzip2_parser import Bzip2Parser
-from lib.hachoir_parser.archive.cab import CabFile
-from lib.hachoir_parser.archive.gzip_parser import GzipParser
-from lib.hachoir_parser.archive.tar import TarFile
-from lib.hachoir_parser.archive.zip import ZipFile
-from lib.hachoir_parser.archive.rar import RarFile
-from lib.hachoir_parser.archive.rpm import RpmFile
-from lib.hachoir_parser.archive.sevenzip import SevenZipParser
-from lib.hachoir_parser.archive.mar import MarFile
+from hachoir_parser.archive.ace import AceFile
+from hachoir_parser.archive.ar import ArchiveFile
+from hachoir_parser.archive.bzip2_parser import Bzip2Parser
+from hachoir_parser.archive.cab import CabFile
+from hachoir_parser.archive.gzip_parser import GzipParser
+from hachoir_parser.archive.tar import TarFile
+from hachoir_parser.archive.zip import ZipFile
+from hachoir_parser.archive.rar import RarFile
+from hachoir_parser.archive.rpm import RpmFile
+from hachoir_parser.archive.sevenzip import SevenZipParser
+from hachoir_parser.archive.mar import MarFile
 
diff --git a/lib/hachoir_parser/archive/ace.py b/lib/hachoir_parser/archive/ace.py
index ff65bbb643768d941c05a6be4467e6a97a3f9e0b..03652920f1878dca539c92c47a511fba84ed56c7 100644
--- a/lib/hachoir_parser/archive/ace.py
+++ b/lib/hachoir_parser/archive/ace.py
@@ -11,15 +11,15 @@ Author: Christophe Gisquet <christophe.gisquet@free.fr>
 Creation date: 19 january 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, NullBits, RawBytes, Enum,
     UInt8, UInt16, UInt32,
     PascalString8, PascalString16, String,
     TimeDateMSDOS32)
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.msdos import MSDOSFileAttr32
 
 MAGIC = "**ACE**"
 
diff --git a/lib/hachoir_parser/archive/ar.py b/lib/hachoir_parser/archive/ar.py
index e314e9a1dfb8cf8a7e9aed2fe41be2bed7931a3d..421cdc53c2e16daa30eec9f9aa7bf3275e32fd64 100644
--- a/lib/hachoir_parser/archive/ar.py
+++ b/lib/hachoir_parser/archive/ar.py
@@ -2,10 +2,10 @@
 GNU ar archive : archive file (.a) and Debian (.deb) archive.
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes, UnixLine)
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.endian import BIG_ENDIAN
 
 class ArchiveFileEntry(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/archive/bzip2_parser.py b/lib/hachoir_parser/archive/bzip2_parser.py
index 50760b7dfdb6babf772c18dae299ae1a689035b5..bec1d0e1cdaec315c67081bb627e210683400562 100644
--- a/lib/hachoir_parser/archive/bzip2_parser.py
+++ b/lib/hachoir_parser/archive/bzip2_parser.py
@@ -4,11 +4,11 @@ BZIP2 archive file
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (ParserError, String,
+from hachoir_parser import Parser
+from hachoir_core.field import (ParserError, String,
     Bytes, Character, UInt8, UInt32, CompressedField)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 try:
     from bz2 import BZ2Decompressor
diff --git a/lib/hachoir_parser/archive/cab.py b/lib/hachoir_parser/archive/cab.py
index ef6ab7c7255db9e0abfa2ed0bd8e0e4da9910b1b..856b01eebc46c60479f29e9722f92e88988e5cd6 100644
--- a/lib/hachoir_parser/archive/cab.py
+++ b/lib/hachoir_parser/archive/cab.py
@@ -5,14 +5,14 @@ Author: Victor Stinner
 Creation date: 31 january 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Enum,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Enum,
     CString, String,
     UInt16, UInt32, Bit, Bits, PaddingBits, NullBits,
     DateTimeMSDOS32, RawBytes)
-from lib.hachoir_parser.common.msdos import MSDOSFileAttr16
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.msdos import MSDOSFileAttr16
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
 
 MAX_NB_FOLDER = 30
 
diff --git a/lib/hachoir_parser/archive/gzip_parser.py b/lib/hachoir_parser/archive/gzip_parser.py
index 5f63cbc1460abd8c86c0435dfa1c9c48719d840a..c0820332c061691ea781500b01b5035abe6b35e3 100644
--- a/lib/hachoir_parser/archive/gzip_parser.py
+++ b/lib/hachoir_parser/archive/gzip_parser.py
@@ -4,14 +4,14 @@ GZIP archive parser.
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (
+from hachoir_parser import Parser
+from hachoir_core.field import (
     UInt8, UInt16, UInt32, Enum, TimestampUnix32,
     Bit, CString, SubFile,
     NullBits, Bytes, RawBytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.deflate import Deflate
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.deflate import Deflate
 
 class GzipParser(Parser):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/archive/mar.py b/lib/hachoir_parser/archive/mar.py
index 05be1cbd4216018e22d655757f7e67418d034763..6a7e31a768f55d80658ca1ea6dd46f5045b7846f 100644
--- a/lib/hachoir_parser/archive/mar.py
+++ b/lib/hachoir_parser/archive/mar.py
@@ -7,10 +7,10 @@ Creation date: 2007-03-04
 
 MAX_NB_FILE = 100000
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import FieldSet, String, UInt32, SubFile
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_parser import Parser
+from hachoir_core.field import FieldSet, String, UInt32, SubFile
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
 
 class FileIndex(FieldSet):
     static_size = 68*8
diff --git a/lib/hachoir_parser/archive/rar.py b/lib/hachoir_parser/archive/rar.py
index 166ae0417d11b998853d12fb8c67bd45840641bb..2be5887c482028dda13aa33077f6ea2d235f905a 100644
--- a/lib/hachoir_parser/archive/rar.py
+++ b/lib/hachoir_parser/archive/rar.py
@@ -5,15 +5,15 @@ Status: can only read higher-level attructures
 Author: Christophe Gisquet
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, Enum,
     UInt8, UInt16, UInt32, UInt64,
     String, TimeDateMSDOS32,
     NullBytes, NullBits, RawBytes)
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.msdos import MSDOSFileAttr32
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/archive/rpm.py b/lib/hachoir_parser/archive/rpm.py
index 60235755b8d0fc6bbdafc4a7c5598c8485892ac4..ccb8d2e58f7096a083e510d1cdbe8a64a48a2c6c 100644
--- a/lib/hachoir_parser/archive/rpm.py
+++ b/lib/hachoir_parser/archive/rpm.py
@@ -4,14 +4,14 @@ RPM archive parser.
 Author: Victor Stinner, 1st December 2005.
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, UInt64, Enum,
     NullBytes, Bytes, RawBytes, SubFile,
     Character, CString, String)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_parser.archive.gzip_parser import GzipParser
-from lib.hachoir_parser.archive.bzip2_parser import Bzip2Parser
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_parser.archive.gzip_parser import GzipParser
+from hachoir_parser.archive.bzip2_parser import Bzip2Parser
 
 class ItemContent(FieldSet):
     format_type = {
diff --git a/lib/hachoir_parser/archive/sevenzip.py b/lib/hachoir_parser/archive/sevenzip.py
index 91f9716c54287b751ae754854b14f84ce2e4afa2..7a0148f5f86b13c63c27591322a11236acd91377 100644
--- a/lib/hachoir_parser/archive/sevenzip.py
+++ b/lib/hachoir_parser/archive/sevenzip.py
@@ -9,13 +9,13 @@ Author: Olivier SCHWAB
 Creation date: 6 december 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (Field, FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (Field, FieldSet, ParserError,
     GenericVector,
     Enum, UInt8, UInt32, UInt64,
     Bytes, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class SZUInt64(Field):
     """
diff --git a/lib/hachoir_parser/archive/tar.py b/lib/hachoir_parser/archive/tar.py
index bd2dc1ad2e0c53db62f1308b4da9c2043c2e09fc..08a9040be689fc6c3cded8ad2302b7e2495a2256 100644
--- a/lib/hachoir_parser/archive/tar.py
+++ b/lib/hachoir_parser/archive/tar.py
@@ -4,11 +4,11 @@ Tar archive parser.
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Enum, UInt8, SubFile, String, NullBytes)
-from lib.hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
+from hachoir_core.endian import BIG_ENDIAN
 import re
 
 class FileEntry(FieldSet):
diff --git a/lib/hachoir_parser/archive/zip.py b/lib/hachoir_parser/archive/zip.py
index 98a41293db30bbcf81245ddca1200a021e1ccaf2..b3cd54a59965c2d6092075077f8c6ee298fa91fc 100644
--- a/lib/hachoir_parser/archive/zip.py
+++ b/lib/hachoir_parser/archive/zip.py
@@ -5,18 +5,18 @@ Status: can read most important headers
 Authors: Christophe Gisquet and Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, Enum,
     TimeDateMSDOS32, SubFile,
     UInt8, UInt16, UInt32, UInt64,
     String, PascalString16,
     RawBytes)
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from lib.hachoir_core.error import HACHOIR_ERRORS
-from lib.hachoir_core.tools import makeUnicode
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.deflate import Deflate
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.tools import makeUnicode
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.deflate import Deflate
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/8svx.py b/lib/hachoir_parser/audio/8svx.py
index 16d0f7030178e9e13234900ee16db3e31c67fef6..109d03dae0348e4ab3d446e2ff16d98b316aea5c 100644
--- a/lib/hachoir_parser/audio/8svx.py
+++ b/lib/hachoir_parser/audio/8svx.py
@@ -5,15 +5,15 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import filesizeHandler
-from lib.hachoir_core.tools import alignValue
-from lib.hachoir_parser.audio.id3 import ID3v2
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import filesizeHandler
+from hachoir_core.tools import alignValue
+from hachoir_parser.audio.id3 import ID3v2
 
 CODEC_NAME = {
     'ACE2': u"ACE 2-to-1",
diff --git a/lib/hachoir_parser/audio/__init__.py b/lib/hachoir_parser/audio/__init__.py
index 0c6ac749fceabf651c083a76bfcadcb7d51d526a..1cc33a23540a5b246fe7a64feff523fe16bc7222 100644
--- a/lib/hachoir_parser/audio/__init__.py
+++ b/lib/hachoir_parser/audio/__init__.py
@@ -1,12 +1,12 @@
-from lib.hachoir_parser.audio.aiff import AiffFile
-from lib.hachoir_parser.audio.au import AuFile
-from lib.hachoir_parser.audio.itunesdb import ITunesDBFile
-from lib.hachoir_parser.audio.midi import MidiFile
-from lib.hachoir_parser.audio.mpeg_audio import MpegAudioFile
-from lib.hachoir_parser.audio.real_audio import RealAudioFile
-from lib.hachoir_parser.audio.xm import XMModule
-from lib.hachoir_parser.audio.s3m import S3MModule
-from lib.hachoir_parser.audio.s3m import PTMModule
-from lib.hachoir_parser.audio.mod import AmigaModule
-from lib.hachoir_parser.audio.flac import FlacParser
+from hachoir_parser.audio.aiff import AiffFile
+from hachoir_parser.audio.au import AuFile
+from hachoir_parser.audio.itunesdb import ITunesDBFile
+from hachoir_parser.audio.midi import MidiFile
+from hachoir_parser.audio.mpeg_audio import MpegAudioFile
+from hachoir_parser.audio.real_audio import RealAudioFile
+from hachoir_parser.audio.xm import XMModule
+from hachoir_parser.audio.s3m import S3MModule
+from hachoir_parser.audio.s3m import PTMModule
+from hachoir_parser.audio.mod import AmigaModule
+from hachoir_parser.audio.flac import FlacParser
 
diff --git a/lib/hachoir_parser/audio/aiff.py b/lib/hachoir_parser/audio/aiff.py
index 89c7e61b05bf507fd1b13fe461e546e3f93bbd03..d8f41696715be935615bcb52d64e62f34b59cf66 100644
--- a/lib/hachoir_parser/audio/aiff.py
+++ b/lib/hachoir_parser/audio/aiff.py
@@ -5,15 +5,15 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import filesizeHandler
-from lib.hachoir_core.tools import alignValue
-from lib.hachoir_parser.audio.id3 import ID3v2
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import filesizeHandler
+from hachoir_core.tools import alignValue
+from hachoir_parser.audio.id3 import ID3v2
 
 CODEC_NAME = {
     'ACE2': u"ACE 2-to-1",
diff --git a/lib/hachoir_parser/audio/au.py b/lib/hachoir_parser/audio/au.py
index 59b2f8e2990a8afc27be235b0a52accb5e7c36a1..ab9d9c11a53d3533ad1f97d1c04d98e00440e2c1 100644
--- a/lib/hachoir_parser/audio/au.py
+++ b/lib/hachoir_parser/audio/au.py
@@ -5,11 +5,11 @@ Author: Victor Stinner
 Creation: 12 july 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import UInt32, Enum, String, RawBytes
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import displayHandler, filesizeHandler
-from lib.hachoir_core.tools import createDict, humanFrequency
+from hachoir_parser import Parser
+from hachoir_core.field import UInt32, Enum, String, RawBytes
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import displayHandler, filesizeHandler
+from hachoir_core.tools import createDict, humanFrequency
 
 class AuFile(Parser):
     PARSER_TAGS = {
diff --git a/lib/hachoir_parser/audio/flac.py b/lib/hachoir_parser/audio/flac.py
index a30c6b00de7cf6f55ecfad95aee6eef0045943ae..f739ff70d24635826bcf0d76af520ce019c18470 100644
--- a/lib/hachoir_parser/audio/flac.py
+++ b/lib/hachoir_parser/audio/flac.py
@@ -9,11 +9,11 @@ Author: Esteban Loiseau <baal AT tuxfamily.org>
 Creation date: 2008-04-09
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import FieldSet, String, Bit, Bits, UInt16, UInt24, RawBytes, Enum, NullBytes
-from lib.hachoir_core.stream import BIG_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.tools import createDict
-from lib.hachoir_parser.container.ogg import parseVorbisComment
+from hachoir_parser import Parser
+from hachoir_core.field import FieldSet, String, Bit, Bits, UInt16, UInt24, RawBytes, Enum, NullBytes
+from hachoir_core.stream import BIG_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.tools import createDict
+from hachoir_parser.container.ogg import parseVorbisComment
 
 class VorbisComment(FieldSet):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/audio/id3.py b/lib/hachoir_parser/audio/id3.py
index 9616baa2d1ec4739708eda766000fdf6ebf6c4e0..3cfda25f9436dc76ca6ba5cc61c35210b4e88562 100644
--- a/lib/hachoir_parser/audio/id3.py
+++ b/lib/hachoir_parser/audio/id3.py
@@ -6,13 +6,13 @@ Informations: http://www.id3.org/
 Author: Victor Stinner
 """
 
-from lib.hachoir_core.field import (FieldSet, MatchError, ParserError,
+from hachoir_core.field import (FieldSet, MatchError, ParserError,
     Enum, UInt8, UInt24, UInt32,
     CString, String, RawBytes,
     Bit, Bits, NullBytes, NullBits)
-from lib.hachoir_core.text_handler import textHandler
-from lib.hachoir_core.tools import humanDuration
-from lib.hachoir_core.endian import NETWORK_ENDIAN
+from hachoir_core.text_handler import textHandler
+from hachoir_core.tools import humanDuration
+from hachoir_core.endian import NETWORK_ENDIAN
 
 class ID3v1(FieldSet):
     static_size = 128 * 8
diff --git a/lib/hachoir_parser/audio/itunesdb.py b/lib/hachoir_parser/audio/itunesdb.py
index 76b4f936cdcfb934d2d64700952b618aeaa77b0d..3472d2d85738a2221097d54db88443b14b301bb1 100644
--- a/lib/hachoir_parser/audio/itunesdb.py
+++ b/lib/hachoir_parser/audio/itunesdb.py
@@ -8,13 +8,13 @@ Author: Romain HERAULT
 Creation date: 19 august 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampMac32,
     String, Float32, NullBytes, Enum)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import humanDuration
-from lib.hachoir_core.text_handler import displayHandler, filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import humanDuration
+from hachoir_core.text_handler import displayHandler, filesizeHandler
 
 list_order={
         1 : "playlist order (manual sort order)",
diff --git a/lib/hachoir_parser/audio/midi.py b/lib/hachoir_parser/audio/midi.py
index 5382f2ddf90b7f8cbe264cc2f666e745b42472e2..01da22893f39ddcfe3dce8a95cecd422907aa7b5 100644
--- a/lib/hachoir_parser/audio/midi.py
+++ b/lib/hachoir_parser/audio/midi.py
@@ -8,13 +8,13 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Bits, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Bits, ParserError,
     String, UInt32, UInt24, UInt16, UInt8, Enum, RawBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import createDict, humanDurationNanosec
-from lib.hachoir_parser.common.tracker import NOTE_NAME
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import createDict, humanDurationNanosec
+from hachoir_parser.common.tracker import NOTE_NAME
 
 MAX_FILESIZE = 10 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/mod.py b/lib/hachoir_parser/audio/mod.py
index 5ed300f076792dced368957f9594be8e6dbad0cf..75025e0cdf9fd4fa11f0808a595e2a1aed2201fb 100644
--- a/lib/hachoir_parser/audio/mod.py
+++ b/lib/hachoir_parser/audio/mod.py
@@ -18,12 +18,12 @@ Creation: 18th February 2007
 """
 
 from math import log10
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Bits, UInt16, UInt8,
     RawBytes, String, GenericVector)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler
 
 # Old NoiseTracker 15-samples modules can have anything here.
 MODULE_TYPE = {
diff --git a/lib/hachoir_parser/audio/modplug.py b/lib/hachoir_parser/audio/modplug.py
index 6790bc03887dde0c771b27cb7a156ee48fdc6d92..d0ea0ff47397ccc67020b7ec6eb0de80103210d7 100644
--- a/lib/hachoir_parser/audio/modplug.py
+++ b/lib/hachoir_parser/audio/modplug.py
@@ -8,11 +8,11 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 10th February 2007
 """
 
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_core.field import (FieldSet,
     UInt32, UInt16, UInt8, Int8, Float32,
     RawBytes, String, GenericVector, ParserError)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 MAX_ENVPOINTS = 32
 
diff --git a/lib/hachoir_parser/audio/mpeg_audio.py b/lib/hachoir_parser/audio/mpeg_audio.py
index b6f2ba91865c0af2870e862c64e70e4eadb8c44d..04e7d327af616951816237e7c2d952dc1c355be5 100644
--- a/lib/hachoir_parser/audio/mpeg_audio.py
+++ b/lib/hachoir_parser/audio/mpeg_audio.py
@@ -5,18 +5,18 @@ Creation: 12 decembre 2005
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     MissingField, ParserError, createOrphanField,
     Bit, Bits, Enum,
     PaddingBits, PaddingBytes,
     RawBytes)
-from lib.hachoir_parser.audio.id3 import ID3v1, ID3v2
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.tools import humanFrequency, humanBitSize
-from lib.hachoir_core.bits import long2raw
-from lib.hachoir_core.error import HACHOIR_ERRORS
-from lib.hachoir_core.stream import InputStreamError
+from hachoir_parser.audio.id3 import ID3v1, ID3v2
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.tools import humanFrequency, humanBitSize
+from hachoir_core.bits import long2raw
+from hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.stream import InputStreamError
 
 # Max MP3 filesize: 200 MB
 MAX_FILESIZE = 200*1024*1024*8
diff --git a/lib/hachoir_parser/audio/real_audio.py b/lib/hachoir_parser/audio/real_audio.py
index 5a2100e66edd471273094f69116da0cccba93171..289ed6e1ebbbb0796bd467be1467c2872c9b5b09 100644
--- a/lib/hachoir_parser/audio/real_audio.py
+++ b/lib/hachoir_parser/audio/real_audio.py
@@ -8,14 +8,14 @@ Samples:
   http://samples.mplayerhq.hu/real/RA/
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32,
     Bytes, RawBytes, String,
     PascalString8)
-from lib.hachoir_core.tools import humanFrequency
-from lib.hachoir_core.text_handler import displayHandler
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.tools import humanFrequency
+from hachoir_core.text_handler import displayHandler
+from hachoir_core.endian import BIG_ENDIAN
 
 class Metadata(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/audio/s3m.py b/lib/hachoir_parser/audio/s3m.py
index c03d72a05458f0d65fefe06584623839ba84faa9..1b2a73260fed885603e460dcfab8329bd0ef6cf9 100644
--- a/lib/hachoir_parser/audio/s3m.py
+++ b/lib/hachoir_parser/audio/s3m.py
@@ -9,15 +9,15 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 11th February 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet, Field,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet, Field,
     Bit, Bits,
     UInt32, UInt16, UInt8, Enum,
     PaddingBytes, RawBytes, NullBytes,
     String, GenericVector, ParserError)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import alignValue
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import alignValue
 
 class Chunk:
     def __init__(self, cls, name, offset, size, *args):
diff --git a/lib/hachoir_parser/audio/xm.py b/lib/hachoir_parser/audio/xm.py
index 17fd28e0e48e5455139364b306c298668aed3de9..0b13b41f209c5800919cb6f4320656fccdaee97e 100644
--- a/lib/hachoir_parser/audio/xm.py
+++ b/lib/hachoir_parser/audio/xm.py
@@ -13,15 +13,15 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 8th February 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, RawBits, Bits,
     UInt32, UInt16, UInt8, Int8, Enum,
     RawBytes, String, GenericVector)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from lib.hachoir_parser.audio.modplug import ParseModplugMetadata
-from lib.hachoir_parser.common.tracker import NOTE_NAME
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_parser.audio.modplug import ParseModplugMetadata
+from hachoir_parser.common.tracker import NOTE_NAME
 
 def parseSigned(val):
     return "%i" % (val.value-128)
diff --git a/lib/hachoir_parser/common/deflate.py b/lib/hachoir_parser/common/deflate.py
index ee369a29e210579c73ce508625bf61459286e50d..df9c2e0a021d8efb87d4013eca07ce4baad07729 100644
--- a/lib/hachoir_parser/common/deflate.py
+++ b/lib/hachoir_parser/common/deflate.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import CompressedField
+from hachoir_core.field import CompressedField
 
 try:
     from zlib import decompressobj, MAX_WBITS
diff --git a/lib/hachoir_parser/common/msdos.py b/lib/hachoir_parser/common/msdos.py
index e16920b7cdb71619f092ea2add17ab20eab11746..addd149596171dc23a2e580310fddf0771026a4a 100644
--- a/lib/hachoir_parser/common/msdos.py
+++ b/lib/hachoir_parser/common/msdos.py
@@ -6,8 +6,8 @@ Documentation:
   http://www.cs.colorado.edu/~main/cs1300/include/ddk/winddk.h
 """
 
-from lib.hachoir_core.field import StaticFieldSet
-from lib.hachoir_core.field import Bit, NullBits
+from hachoir_core.field import StaticFieldSet
+from hachoir_core.field import Bit, NullBits
 
 _FIELDS = (
     (Bit, "read_only"),
diff --git a/lib/hachoir_parser/common/win32.py b/lib/hachoir_parser/common/win32.py
index 07a02f561932034af53f789ae19e48e93602bdf8..177190ec0d9f3f73d307c3fbcdabbc8ee829672b 100644
--- a/lib/hachoir_parser/common/win32.py
+++ b/lib/hachoir_parser/common/win32.py
@@ -1,9 +1,9 @@
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, Enum, String, Bytes, Bits, TimestampUUID60)
-from lib.hachoir_parser.video.fourcc import video_fourcc_name
-from lib.hachoir_core.bits import str2hex
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.network.common import MAC48_Address
+from hachoir_parser.video.fourcc import video_fourcc_name
+from hachoir_core.bits import str2hex
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.network.common import MAC48_Address
 
 # Dictionary: Windows codepage => Python charset name
 CODEPAGE_CHARSET = {
diff --git a/lib/hachoir_parser/container/__init__.py b/lib/hachoir_parser/container/__init__.py
index ff22d57a59d276820eaebc14c8279c02dc60ab18..6fd7d3edae2156a4cd43e5c3dbadd7bb392d47dd 100644
--- a/lib/hachoir_parser/container/__init__.py
+++ b/lib/hachoir_parser/container/__init__.py
@@ -1,7 +1,7 @@
-from lib.hachoir_parser.container.asn1 import ASN1File
-from lib.hachoir_parser.container.mkv import MkvFile
-from lib.hachoir_parser.container.ogg import OggFile, OggStream
-from lib.hachoir_parser.container.riff import RiffFile
-from lib.hachoir_parser.container.swf import SwfFile
-from lib.hachoir_parser.container.realmedia import RealMediaFile
+from hachoir_parser.container.asn1 import ASN1File
+from hachoir_parser.container.mkv import MkvFile
+from hachoir_parser.container.ogg import OggFile, OggStream
+from hachoir_parser.container.riff import RiffFile
+from hachoir_parser.container.swf import SwfFile
+from hachoir_parser.container.realmedia import RealMediaFile
 
diff --git a/lib/hachoir_parser/container/action_script.py b/lib/hachoir_parser/container/action_script.py
index 747f772f4775944fbf2919a7ce8943b1e489a2d0..6769ac114ea4f988c62a858dc06f037dbe784835 100644
--- a/lib/hachoir_parser/container/action_script.py
+++ b/lib/hachoir_parser/container/action_script.py
@@ -10,11 +10,11 @@ Author: Sebastien Ponce
 Creation date: 26 April 2008
 """
 
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, Int16, UInt16, Float32, CString,
     RawBytes)
-#from lib.hachoir_core.field import Field
-from lib.hachoir_core.field.float import FloatExponent
+#from hachoir_core.field import Field
+from hachoir_core.field.float import FloatExponent
 from struct import unpack
 
 class FlashFloat64(FieldSet):
diff --git a/lib/hachoir_parser/container/asn1.py b/lib/hachoir_parser/container/asn1.py
index d1c3d1137a22f475e07d0a5f05ce12db739c35b0..dfac847b314453a4a3ae7e4bde178bbc2f07b0db 100644
--- a/lib/hachoir_parser/container/asn1.py
+++ b/lib/hachoir_parser/container/asn1.py
@@ -39,15 +39,15 @@ Author: Victor Stinner
 Creation date: 24 september 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, UInt8, GenericInteger, String,
     Field, Enum, RawBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.tools import createDict, humanDatetime
-from lib.hachoir_core.stream import InputStreamError
-from lib.hachoir_core.text_handler import textHandler
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.tools import createDict, humanDatetime
+from hachoir_core.stream import InputStreamError
+from hachoir_core.text_handler import textHandler
 
 # --- Field parser ---
 
diff --git a/lib/hachoir_parser/container/mkv.py b/lib/hachoir_parser/container/mkv.py
index 65230d61dd5b58cd603baaf51b3aabad8d71fed5..4e90f460e57680050237e1dc86d15af0618ea8c3 100644
--- a/lib/hachoir_parser/container/mkv.py
+++ b/lib/hachoir_parser/container/mkv.py
@@ -4,18 +4,18 @@
 # Created: 8 june 2006
 #
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Link,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Link,
     MissingField, ParserError,
     Enum as _Enum, String as _String,
     Float32, Float64,
     NullBits, Bits, Bit, RawBytes, Bytes,
     Int16, GenericInteger)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.iso639 import ISO639_2
-from lib.hachoir_core.tools import humanDatetime
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.container.ogg import XiphInt
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.iso639 import ISO639_2
+from hachoir_core.tools import humanDatetime
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.container.ogg import XiphInt
 from datetime import datetime, timedelta
 
 class RawInt(GenericInteger):
diff --git a/lib/hachoir_parser/container/ogg.py b/lib/hachoir_parser/container/ogg.py
index 82b961d0a9de135ab26efa1f34a3e6e98e2d1abd..fa2d26cba99c6ab1e50b668aae02ec8f4eaaf2da 100644
--- a/lib/hachoir_parser/container/ogg.py
+++ b/lib/hachoir_parser/container/ogg.py
@@ -4,15 +4,15 @@
 # Created: 10 june 2006
 #
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (Field, FieldSet, createOrphanField,
+from hachoir_parser import Parser
+from hachoir_core.field import (Field, FieldSet, createOrphanField,
     NullBits, Bit, Bits, Enum, Fragment, MissingField, ParserError,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     RawBytes, String, PascalString32, NullBytes)
-from lib.hachoir_core.stream import FragmentedStream, InputStreamError
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_core.tools import humanDurationNanosec
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.stream import FragmentedStream, InputStreamError
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.tools import humanDurationNanosec
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/container/realmedia.py b/lib/hachoir_parser/container/realmedia.py
index 337be9b03fde6964dfae3b900556684ca80fe185..45c8173bbb6ab32e94abd8b42ac3ec55ee9ce0e5 100644
--- a/lib/hachoir_parser/container/realmedia.py
+++ b/lib/hachoir_parser/container/realmedia.py
@@ -13,12 +13,12 @@ Samples:
 - http://samples.mplayerhq.hu/real/
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, Bit, RawBits,
     RawBytes, String, PascalString8, PascalString16)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import BIG_ENDIAN
 
 def parseHeader(self):
     yield UInt32(self, "filever", "File version")
diff --git a/lib/hachoir_parser/container/riff.py b/lib/hachoir_parser/container/riff.py
index d5e96b9312873b5f396a18010caddd4d11bd8888..a5e4fc0ac10c6275abc5bd2c8bae7a7f3ac1ac75 100644
--- a/lib/hachoir_parser/container/riff.py
+++ b/lib/hachoir_parser/container/riff.py
@@ -29,17 +29,17 @@ Thanks to:
      format information
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     Bit, NullBits, NullBytes,
     RawBytes, String, PaddingBytes,
     SubFile)
-from lib.hachoir_core.tools import alignValue, humanDuration
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import filesizeHandler, textHandler
-from lib.hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
-from lib.hachoir_parser.image.ico import IcoFile
+from hachoir_core.tools import alignValue, humanDuration
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import filesizeHandler, textHandler
+from hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
+from hachoir_parser.image.ico import IcoFile
 from datetime import timedelta
 
 def parseText(self):
diff --git a/lib/hachoir_parser/container/swf.py b/lib/hachoir_parser/container/swf.py
index 4c0e5d69e394ab9b36d7d5d193ca38394b60ac7c..951c62192c83cca88fedd57759d4c19d85714071 100644
--- a/lib/hachoir_parser/container/swf.py
+++ b/lib/hachoir_parser/container/swf.py
@@ -13,18 +13,18 @@ Author: Victor Stinner
 Creation date: 29 october 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, UInt16, CString, Enum,
     Bytes, RawBytes, NullBits, String, SubFile)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler
-from lib.hachoir_core.tools import paddingSize, humanFrequency
-from lib.hachoir_parser.image.common import RGB
-from lib.hachoir_parser.image.jpeg import JpegChunk, JpegFile
-from lib.hachoir_core.stream import StringInputStream, ConcatStream
-from lib.hachoir_parser.common.deflate import Deflate, has_deflate
-from lib.hachoir_parser.container.action_script import parseActionScript
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, filesizeHandler
+from hachoir_core.tools import paddingSize, humanFrequency
+from hachoir_parser.image.common import RGB
+from hachoir_parser.image.jpeg import JpegChunk, JpegFile
+from hachoir_core.stream import StringInputStream, ConcatStream
+from hachoir_parser.common.deflate import Deflate, has_deflate
+from hachoir_parser.container.action_script import parseActionScript
 import math
 
 # Maximum file size (50 MB)
diff --git a/lib/hachoir_parser/file_system/__init__.py b/lib/hachoir_parser/file_system/__init__.py
index 92c82d262181c3d5371b1445572b528004121291..863aae3acef75a373851d81ccaf3bd128117498b 100644
--- a/lib/hachoir_parser/file_system/__init__.py
+++ b/lib/hachoir_parser/file_system/__init__.py
@@ -1,8 +1,8 @@
-from lib.hachoir_parser.file_system.ext2 import EXT2_FS
-from lib.hachoir_parser.file_system.fat import FAT12, FAT16, FAT32
-from lib.hachoir_parser.file_system.mbr import MSDos_HardDrive
-from lib.hachoir_parser.file_system.ntfs import NTFS
-from lib.hachoir_parser.file_system.iso9660 import ISO9660
-from lib.hachoir_parser.file_system.reiser_fs import REISER_FS
-from lib.hachoir_parser.file_system.linux_swap import LinuxSwapFile
+from hachoir_parser.file_system.ext2 import EXT2_FS
+from hachoir_parser.file_system.fat import FAT12, FAT16, FAT32
+from hachoir_parser.file_system.mbr import MSDos_HardDrive
+from hachoir_parser.file_system.ntfs import NTFS
+from hachoir_parser.file_system.iso9660 import ISO9660
+from hachoir_parser.file_system.reiser_fs import REISER_FS
+from hachoir_parser.file_system.linux_swap import LinuxSwapFile
 
diff --git a/lib/hachoir_parser/file_system/ext2.py b/lib/hachoir_parser/file_system/ext2.py
index 8b19b46bac1201df37fdaabb62976d4acf225f5d..634fe0634798458551f15866dcc702c9c2cf54e6 100644
--- a/lib/hachoir_parser/file_system/ext2.py
+++ b/lib/hachoir_parser/file_system/ext2.py
@@ -10,14 +10,14 @@ Sources:
   http://www.nondot.org/sabre/os/files/FileSystems/ext2fs/
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt16, UInt32,
     Enum, String, TimestampUnix32, RawBytes, NullBytes)
-from lib.hachoir_core.tools import (alignValue,
+from hachoir_core.tools import (alignValue,
     humanDuration, humanFilesize)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler
 from itertools import izip
 
 class DirectoryEntry(FieldSet):
diff --git a/lib/hachoir_parser/file_system/fat.py b/lib/hachoir_parser/file_system/fat.py
index fc0ae6cb93a2f86f3d04aaec7155396631c8418e..2aebe175f538a59abfb82c989e3a10148656988c 100644
--- a/lib/hachoir_parser/file_system/fat.py
+++ b/lib/hachoir_parser/file_system/fat.py
@@ -1,14 +1,14 @@
-from lib.hachoir_core.compatibility import sorted
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
+from hachoir_core.compatibility import sorted
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, StaticFieldSet,
     RawBytes, PaddingBytes, createPaddingField, Link, Fragment,
     Bit, Bits, UInt8, UInt16, UInt32,
     String, Bytes, NullBytes)
-from lib.hachoir_core.field.integer import GenericInteger
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.error import error
-from lib.hachoir_core.tools import humanFilesize, makePrintable
+from hachoir_core.field.integer import GenericInteger
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.error import error
+from hachoir_core.tools import humanFilesize, makePrintable
 import datetime
 import re
 
diff --git a/lib/hachoir_parser/file_system/iso9660.py b/lib/hachoir_parser/file_system/iso9660.py
index 9fc0dc9f88a9265043b248c25e969658e486734d..3d93593a9d4b5a81ce1a79f3ebb4345024126867 100644
--- a/lib/hachoir_parser/file_system/iso9660.py
+++ b/lib/hachoir_parser/file_system/iso9660.py
@@ -9,11 +9,11 @@ Author: Victor Stinner
 Creation: 11 july 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt32, UInt64, Enum,
     NullBytes, RawBytes, String)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class PrimaryVolumeDescriptor(FieldSet):
     static_size = 2041*8
diff --git a/lib/hachoir_parser/file_system/linux_swap.py b/lib/hachoir_parser/file_system/linux_swap.py
index 72fdf90918312e9b1c52e4e46c7fc33d9fac1dff..ea2e0dba0b94a670cff2ea47eae4ae14b58f8049 100644
--- a/lib/hachoir_parser/file_system/linux_swap.py
+++ b/lib/hachoir_parser/file_system/linux_swap.py
@@ -9,13 +9,13 @@ Author: Victor Stinner
 Creation date: 25 december 2006 (christmas ;-))
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (ParserError, GenericVector,
+from hachoir_parser import Parser
+from hachoir_core.field import (ParserError, GenericVector,
     UInt32, String,
     Bytes, NullBytes, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import humanFilesize
-from lib.hachoir_core.bits import str2hex
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import humanFilesize
+from hachoir_core.bits import str2hex
 
 PAGE_SIZE = 4096
 
diff --git a/lib/hachoir_parser/file_system/mbr.py b/lib/hachoir_parser/file_system/mbr.py
index 4174fa31ff09f4341f8c23e2e5e34bdd135c1019..d5c366f89abdb7ee65e7a48b8d8bed9c74d093c0 100644
--- a/lib/hachoir_parser/file_system/mbr.py
+++ b/lib/hachoir_parser/file_system/mbr.py
@@ -12,13 +12,13 @@ Master Boot Record.
 # 2. Ask the system (ioctl/HDIO_GETGEO).
 # 3. 255 heads and 63 sectors/cylinder.
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Enum, Bits, UInt8, UInt16, UInt32,
     RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import humanFilesize
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import humanFilesize
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 BLOCK_SIZE = 512  # bytes
 
diff --git a/lib/hachoir_parser/file_system/ntfs.py b/lib/hachoir_parser/file_system/ntfs.py
index 0710f990c858907d1d39311abc3365b93b833fd3..efea7e71347fc526cbc1f295c6f8582a4ee08eb9 100644
--- a/lib/hachoir_parser/file_system/ntfs.py
+++ b/lib/hachoir_parser/file_system/ntfs.py
@@ -13,15 +13,15 @@ Author: Victor Stinner
 
 SECTOR_SIZE = 512
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Enum,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64,
     String, Bytes, Bit,
     NullBits, NullBytes, PaddingBytes, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.tools import humanFilesize, createDict
-from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.tools import humanFilesize, createDict
+from hachoir_parser.common.msdos import MSDOSFileAttr32
 
 class BiosParameterBlock(FieldSet):
     """
diff --git a/lib/hachoir_parser/file_system/reiser_fs.py b/lib/hachoir_parser/file_system/reiser_fs.py
index 73933c27a227fc14e6ab6c88b6119dcc1477f6f9..e71eb9509358715f2fe1b4b0e09eb2a969fc6717 100644
--- a/lib/hachoir_parser/file_system/reiser_fs.py
+++ b/lib/hachoir_parser/file_system/reiser_fs.py
@@ -20,10 +20,10 @@ Kurz.
 """
 
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Enum,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Enum,
     UInt16, UInt32, String, RawBytes, NullBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN
 
 class Journal_params(FieldSet):
     static_size = 32*8
diff --git a/lib/hachoir_parser/game/__init__.py b/lib/hachoir_parser/game/__init__.py
index 17f7cd0a3fe0e087bbb310e9903b6e2e194f43b7..1b6447b981c9c4787e493053cdd0a2a2f662f937 100644
--- a/lib/hachoir_parser/game/__init__.py
+++ b/lib/hachoir_parser/game/__init__.py
@@ -1,4 +1,4 @@
-from lib.hachoir_parser.game.zsnes import ZSNESFile
-from lib.hachoir_parser.game.spider_man_video import SpiderManVideoFile
-from lib.hachoir_parser.game.laf import LafFile
-from lib.hachoir_parser.game.blp import BLP1File, BLP2File
\ No newline at end of file
+from hachoir_parser.game.zsnes import ZSNESFile
+from hachoir_parser.game.spider_man_video import SpiderManVideoFile
+from hachoir_parser.game.laf import LafFile
+from hachoir_parser.game.blp import BLP1File, BLP2File
\ No newline at end of file
diff --git a/lib/hachoir_parser/game/blp.py b/lib/hachoir_parser/game/blp.py
index 2c81770e735528c2c8ad9347725f67d3cd1165c8..218e864014729ca35cf5406530f73124ad78d610 100644
--- a/lib/hachoir_parser/game/blp.py
+++ b/lib/hachoir_parser/game/blp.py
@@ -12,11 +12,11 @@ Creation date: July 10 2007
   http://en.wikipedia.org/wiki/S3_Texture_Compression
 """
 
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.field import String, UInt32, UInt8, Enum, FieldSet, RawBytes, GenericVector, Bit, Bits
-from lib.hachoir_parser.parser import Parser
-from lib.hachoir_parser.image.common import PaletteRGBA
-from lib.hachoir_core.tools import alignValue
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.field import String, UInt32, UInt8, Enum, FieldSet, RawBytes, GenericVector, Bit, Bits
+from hachoir_parser.parser import Parser
+from hachoir_parser.image.common import PaletteRGBA
+from hachoir_core.tools import alignValue
 
 class PaletteIndex(UInt8):
     def createDescription(self):
diff --git a/lib/hachoir_parser/game/laf.py b/lib/hachoir_parser/game/laf.py
index 88154629049693db8a803363d1c581d6bf588491..4a8e15cfb88da9d7a7857230075917867816b99a 100644
--- a/lib/hachoir_parser/game/laf.py
+++ b/lib/hachoir_parser/game/laf.py
@@ -7,10 +7,10 @@ Author: Cyril Zorin
 Creation date: 1 January 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
         UInt8, UInt16, UInt32, GenericVector)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN
 
 class CharData(FieldSet):
   def __init__(self, chars, *args):
diff --git a/lib/hachoir_parser/game/spider_man_video.py b/lib/hachoir_parser/game/spider_man_video.py
index 2384261766d1e2d99bbe7a5bbc03f18607600653..b9092f33de3d922198d2f639701b41020d4a83d5 100644
--- a/lib/hachoir_parser/game/spider_man_video.py
+++ b/lib/hachoir_parser/game/spider_man_video.py
@@ -7,10 +7,10 @@ Creation date: 2006-09-30
 File samples: http://samples.mplayerhq.hu/game-formats/spiderman-segacd-bin/
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import FieldSet, UInt32, String, RawBytes
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser import Parser
+from hachoir_core.field import FieldSet, UInt32, String, RawBytes
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 class Chunk(FieldSet):
     tag_info = {
diff --git a/lib/hachoir_parser/game/zsnes.py b/lib/hachoir_parser/game/zsnes.py
index e11b352846fce4fa5a1baf87b0e259abbbc4b153..a8f7550614f12b584ec1418284355e7e3b5bf7c7 100644
--- a/lib/hachoir_parser/game/zsnes.py
+++ b/lib/hachoir_parser/game/zsnes.py
@@ -5,11 +5,11 @@ Author: Jason Gorski
 Creation date: 2006-09-15
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, StaticFieldSet,
     UInt8, UInt16, UInt32,
     String, PaddingBytes, Bytes, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN
 
 class ZSTHeader(StaticFieldSet):
     format = (
diff --git a/lib/hachoir_parser/guess.py b/lib/hachoir_parser/guess.py
index 0a7178af2a6a42ba356efdc8a5b39674e4428395..1f77b48b5f2ad1f614a7d3ba380d9bdccdac35d4 100644
--- a/lib/hachoir_parser/guess.py
+++ b/lib/hachoir_parser/guess.py
@@ -4,10 +4,10 @@ Parser list managment:
 """
 
 import os
-from lib.hachoir_core.error import warning, info, HACHOIR_ERRORS
-from lib.hachoir_parser import ValidateError, HachoirParserList
-from lib.hachoir_core.stream import FileInputStream
-from lib.hachoir_core.i18n import _
+from hachoir_core.error import warning, info, HACHOIR_ERRORS
+from hachoir_parser import ValidateError, HachoirParserList
+from hachoir_core.stream import FileInputStream
+from hachoir_core.i18n import _
 
 
 class QueryParser(object):
diff --git a/lib/hachoir_parser/image/__init__.py b/lib/hachoir_parser/image/__init__.py
index f66ffdd700a9df0515838d293a64477aa1619452..78c9c20bc10ffa4efa8a9e78fd6b18d3a9a6c7ac 100644
--- a/lib/hachoir_parser/image/__init__.py
+++ b/lib/hachoir_parser/image/__init__.py
@@ -1,12 +1,12 @@
-from lib.hachoir_parser.image.bmp import BmpFile
-from lib.hachoir_parser.image.gif import GifFile
-from lib.hachoir_parser.image.ico import IcoFile
-from lib.hachoir_parser.image.jpeg import JpegFile
-from lib.hachoir_parser.image.pcx import PcxFile
-from lib.hachoir_parser.image.psd import PsdFile
-from lib.hachoir_parser.image.png import PngFile
-from lib.hachoir_parser.image.tga import TargaFile
-from lib.hachoir_parser.image.tiff import TiffFile
-from lib.hachoir_parser.image.wmf import WMF_File
-from lib.hachoir_parser.image.xcf import XcfFile
+from hachoir_parser.image.bmp import BmpFile
+from hachoir_parser.image.gif import GifFile
+from hachoir_parser.image.ico import IcoFile
+from hachoir_parser.image.jpeg import JpegFile
+from hachoir_parser.image.pcx import PcxFile
+from hachoir_parser.image.psd import PsdFile
+from hachoir_parser.image.png import PngFile
+from hachoir_parser.image.tga import TargaFile
+from hachoir_parser.image.tiff import TiffFile
+from hachoir_parser.image.wmf import WMF_File
+from hachoir_parser.image.xcf import XcfFile
 
diff --git a/lib/hachoir_parser/image/bmp.py b/lib/hachoir_parser/image/bmp.py
index 51c944008fb0b50d24b16d4f0985fce507776a8e..c4865d3bb1145d79e9ce6906f5acfc2059ac1fe2 100644
--- a/lib/hachoir_parser/image/bmp.py
+++ b/lib/hachoir_parser/image/bmp.py
@@ -6,15 +6,15 @@ Author: Victor Stinner
 Creation: 16 december 2005
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, Bits,
     String, RawBytes, Enum,
     PaddingBytes, NullBytes, createPaddingField)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.image.common import RGB, PaletteRGBA
-from lib.hachoir_core.tools import alignValue
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.image.common import RGB, PaletteRGBA
+from hachoir_core.tools import alignValue
 
 class Pixel4bit(Bits):
     static_size = 4
diff --git a/lib/hachoir_parser/image/common.py b/lib/hachoir_parser/image/common.py
index ca7152a32da9d6c9271ce379403dc3d4ba2a3118..5046058a7bad8b1b00d2f347bf134ca9a39a7bc3 100644
--- a/lib/hachoir_parser/image/common.py
+++ b/lib/hachoir_parser/image/common.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import FieldSet, UserVector, UInt8
+from hachoir_core.field import FieldSet, UserVector, UInt8
 
 class RGB(FieldSet):
     color_name = {
diff --git a/lib/hachoir_parser/image/exif.py b/lib/hachoir_parser/image/exif.py
index dcaaf77e9395bcce7dbfaaccae73748746307821..7b867933310f3b7aa2b860f150396c6ef7b3683a 100644
--- a/lib/hachoir_parser/image/exif.py
+++ b/lib/hachoir_parser/image/exif.py
@@ -4,14 +4,14 @@ EXIF metadata parser (can be found in a JPEG picture for example)
 Author: Victor Stinner
 """
 
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     Int32, Enum, String,
     Bytes, SubFile,
     NullBytes, createPaddingField)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN, NETWORK_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import createDict
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN, NETWORK_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import createDict
 
 MAX_COUNT = 1000
 
diff --git a/lib/hachoir_parser/image/gif.py b/lib/hachoir_parser/image/gif.py
index 777ba65869624b7262376437996a643faa6605ee..c7e0b89c33ba4c1c0b451e6b9c91dee5dc6f3b98 100644
--- a/lib/hachoir_parser/image/gif.py
+++ b/lib/hachoir_parser/image/gif.py
@@ -4,16 +4,16 @@ GIF picture parser.
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     Enum, UInt8, UInt16,
     Bit, Bits, NullBytes,
     String, PascalString8, Character,
     NullBits, RawBytes)
-from lib.hachoir_parser.image.common import PaletteRGB
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import humanDuration
-from lib.hachoir_core.text_handler import textHandler, displayHandler, hexadecimal
+from hachoir_parser.image.common import PaletteRGB
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import humanDuration
+from hachoir_core.text_handler import textHandler, displayHandler, hexadecimal
 
 # Maximum image dimension (in pixel)
 MAX_WIDTH = 6000
diff --git a/lib/hachoir_parser/image/ico.py b/lib/hachoir_parser/image/ico.py
index fc4282d70a84de9a57e30234b1b48d31a5f20ef1..193a81c62cec9ea28c6ae6b976ef081c3f9afee6 100644
--- a/lib/hachoir_parser/image/ico.py
+++ b/lib/hachoir_parser/image/ico.py
@@ -4,12 +4,12 @@ Microsoft Windows icon and cursor file format parser.
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum, RawBytes)
-from lib.hachoir_parser.image.common import PaletteRGBA
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.win32 import BitmapInfoHeader
+from hachoir_parser.image.common import PaletteRGBA
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.win32 import BitmapInfoHeader
 
 class IconHeader(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/image/iptc.py b/lib/hachoir_parser/image/iptc.py
index c814ed7d9f2600f2dcfde5fcc4db6f308c6257f6..6727de7f4504fda0386a889835a65da89daa1bff 100644
--- a/lib/hachoir_parser/image/iptc.py
+++ b/lib/hachoir_parser/image/iptc.py
@@ -11,9 +11,9 @@ Sources:
 Author: Victor Stinner
 """
 
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, String, RawBytes, NullBytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 def IPTC_String(parent, name, desc=None):
     # Charset may be utf-8, ISO-8859-1, or ...
diff --git a/lib/hachoir_parser/image/jpeg.py b/lib/hachoir_parser/image/jpeg.py
index 899657885bfcda2b8ee6e9d362ab13c9a97b78c3..30944aae724ca276475ea47a23a535b4ba9e1b27 100644
--- a/lib/hachoir_parser/image/jpeg.py
+++ b/lib/hachoir_parser/image/jpeg.py
@@ -12,17 +12,17 @@ Information:
 Author: Victor Stinner
 """
 
-from lib.hachoir_core.error import HachoirError
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.error import HachoirError
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, Enum,
     Bit, Bits, NullBits, NullBytes,
     String, RawBytes)
-from lib.hachoir_parser.image.common import PaletteRGB
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.image.exif import Exif
-from lib.hachoir_parser.image.photoshop_metadata import PhotoshopMetadata
+from hachoir_parser.image.common import PaletteRGB
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.image.exif import Exif
+from hachoir_parser.image.photoshop_metadata import PhotoshopMetadata
 
 MAX_FILESIZE = 100 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/image/pcx.py b/lib/hachoir_parser/image/pcx.py
index cf23a7cb1fffcf52723bb90ba8d46269f1eeab35..cb2a63bf0c022050c1a5216b781b5ff9d0a9d1dc 100644
--- a/lib/hachoir_parser/image/pcx.py
+++ b/lib/hachoir_parser/image/pcx.py
@@ -2,13 +2,13 @@
 PCX picture filter.
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (
+from hachoir_parser import Parser
+from hachoir_core.field import (
     UInt8, UInt16,
     PaddingBytes, RawBytes,
     Enum)
-from lib.hachoir_parser.image.common import PaletteRGB
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.image.common import PaletteRGB
+from hachoir_core.endian import LITTLE_ENDIAN
 
 class PcxFile(Parser):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/image/photoshop_metadata.py b/lib/hachoir_parser/image/photoshop_metadata.py
index 89670bcb5e044b2db07359f4435f8524c442a0d5..be660cec0c76fcecbd950bd85cb959400c9093f9 100644
--- a/lib/hachoir_parser/image/photoshop_metadata.py
+++ b/lib/hachoir_parser/image/photoshop_metadata.py
@@ -1,11 +1,11 @@
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     String, CString, PascalString8,
     NullBytes, RawBytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import alignValue, createDict
-from lib.hachoir_parser.image.iptc import IPTC
-from lib.hachoir_parser.common.win32 import PascalStringWin32
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import alignValue, createDict
+from hachoir_parser.image.iptc import IPTC
+from hachoir_parser.common.win32 import PascalStringWin32
 
 class Version(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/image/png.py b/lib/hachoir_parser/image/png.py
index 6ef8fd8e92d9896e264636e4b24bc8467f6ba962..66f1688e5ca630a2c7f116a984d0629ed77cd543 100644
--- a/lib/hachoir_parser/image/png.py
+++ b/lib/hachoir_parser/image/png.py
@@ -8,18 +8,18 @@ Documents:
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Fragment,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Fragment,
     ParserError, MissingField,
     UInt8, UInt16, UInt32,
     String, CString,
     Bytes, RawBytes,
     Bit, NullBits,
     Enum, CompressedField)
-from lib.hachoir_parser.image.common import RGB
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.endian import NETWORK_ENDIAN
-from lib.hachoir_core.tools import humanFilesize
+from hachoir_parser.image.common import RGB
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import NETWORK_ENDIAN
+from hachoir_core.tools import humanFilesize
 from datetime import datetime
 
 MAX_FILESIZE = 500 * 1024 * 1024
diff --git a/lib/hachoir_parser/image/psd.py b/lib/hachoir_parser/image/psd.py
index 5eb8f76ef3104581bc295af924af64cb1c357fb9..6ea09fb182252f34a88de2a25f31728cefc51dae 100644
--- a/lib/hachoir_parser/image/psd.py
+++ b/lib/hachoir_parser/image/psd.py
@@ -5,11 +5,11 @@ Creation date: 8 january 2006
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, String, NullBytes, Enum, RawBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_parser.image.photoshop_metadata import Photoshop8BIM
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_parser.image.photoshop_metadata import Photoshop8BIM
 
 class Config(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/image/tga.py b/lib/hachoir_parser/image/tga.py
index b1d699f8bfce2dbcf3e8c0bb610602daa0c2ee62..716ab28a509e9d3a2306a4c8cac6d09609117359 100644
--- a/lib/hachoir_parser/image/tga.py
+++ b/lib/hachoir_parser/image/tga.py
@@ -5,10 +5,10 @@ Author: Victor Stinner
 Creation: 18 december 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import FieldSet, UInt8, UInt16, Enum, RawBytes
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.image.common import PaletteRGB
+from hachoir_parser import Parser
+from hachoir_core.field import FieldSet, UInt8, UInt16, Enum, RawBytes
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.image.common import PaletteRGB
 
 class Line(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/image/tiff.py b/lib/hachoir_parser/image/tiff.py
index ceeba5376dbc8a8814d4f20f5991ede975c047a3..a096212f50ba279f1188f4cf449e4f46c913e936 100644
--- a/lib/hachoir_parser/image/tiff.py
+++ b/lib/hachoir_parser/image/tiff.py
@@ -5,12 +5,12 @@ Authors: Victor Stinner and Sebastien Ponce
 Creation date: 30 september 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
     UInt16, UInt32, Bytes, String)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_parser.image.exif import BasicIFDEntry
-from lib.hachoir_core.tools import createDict
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_parser.image.exif import BasicIFDEntry
+from hachoir_core.tools import createDict
 
 MAX_COUNT = 250
 
diff --git a/lib/hachoir_parser/image/wmf.py b/lib/hachoir_parser/image/wmf.py
index c45b530a8a5c981874d96c41d4eb9b21edd9fa20..86f9840b7201f26e6bddf954d492732bfcdf145e 100644
--- a/lib/hachoir_parser/image/wmf.py
+++ b/lib/hachoir_parser/image/wmf.py
@@ -16,14 +16,14 @@ Creation date: 26 december 2006
 
 MAX_FILESIZE = 50 * 1024 * 1024
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
     MissingField, ParserError,
     UInt32, Int32, UInt16, Int16, UInt8, NullBytes, RawBytes, String)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import createDict
-from lib.hachoir_parser.image.common import RGBA
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import createDict
+from hachoir_parser.image.common import RGBA
 
 POLYFILL_MODE = {1: "Alternate", 2: "Winding"}
 
diff --git a/lib/hachoir_parser/image/xcf.py b/lib/hachoir_parser/image/xcf.py
index e365001f632836c9770365616246d59c6c4b513e..f0bfa30ca4382e87ab0e26b7d7e1a83eb2d70729 100644
--- a/lib/hachoir_parser/image/xcf.py
+++ b/lib/hachoir_parser/image/xcf.py
@@ -9,11 +9,11 @@ CVS online:
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
     UInt8, UInt32, Enum, Float32, String, PascalString32, RawBytes)
-from lib.hachoir_parser.image.common import RGBA
-from lib.hachoir_core.endian import NETWORK_ENDIAN
+from hachoir_parser.image.common import RGBA
+from hachoir_core.endian import NETWORK_ENDIAN
 
 class XcfCompression(FieldSet):
     static_size = 8
diff --git a/lib/hachoir_parser/misc/__init__.py b/lib/hachoir_parser/misc/__init__.py
index 938d4aa5f5e98bcde098f0a22a0d3714507c3abf..10e98bb2f4020e721d9a74891ad6989244cefadd 100644
--- a/lib/hachoir_parser/misc/__init__.py
+++ b/lib/hachoir_parser/misc/__init__.py
@@ -1,14 +1,14 @@
-from lib.hachoir_parser.misc.file_3do import File3do
-from lib.hachoir_parser.misc.file_3ds import File3ds
-from lib.hachoir_parser.misc.torrent import TorrentFile
-from lib.hachoir_parser.misc.ttf import TrueTypeFontFile
-from lib.hachoir_parser.misc.chm import ChmFile
-from lib.hachoir_parser.misc.lnk import LnkFile
-from lib.hachoir_parser.misc.pcf import PcfFile
-from lib.hachoir_parser.misc.ole2 import OLE2_File
-from lib.hachoir_parser.misc.pdf import PDFDocument
-from lib.hachoir_parser.misc.pifv import PIFVFile
-from lib.hachoir_parser.misc.hlp import HlpFile
-from lib.hachoir_parser.misc.gnome_keyring import GnomeKeyring
-from lib.hachoir_parser.misc.bplist import BPList
+from hachoir_parser.misc.file_3do import File3do
+from hachoir_parser.misc.file_3ds import File3ds
+from hachoir_parser.misc.torrent import TorrentFile
+from hachoir_parser.misc.ttf import TrueTypeFontFile
+from hachoir_parser.misc.chm import ChmFile
+from hachoir_parser.misc.lnk import LnkFile
+from hachoir_parser.misc.pcf import PcfFile
+from hachoir_parser.misc.ole2 import OLE2_File
+from hachoir_parser.misc.pdf import PDFDocument
+from hachoir_parser.misc.pifv import PIFVFile
+from hachoir_parser.misc.hlp import HlpFile
+from hachoir_parser.misc.gnome_keyring import GnomeKeyring
+from hachoir_parser.misc.bplist import BPList
 
diff --git a/lib/hachoir_parser/misc/bplist.py b/lib/hachoir_parser/misc/bplist.py
index 22282790e02d8823c6168adfe9bd5d1b3b78f1d5..c46345e37ebd1513beb532155f61c904c4cccaa0 100644
--- a/lib/hachoir_parser/misc/bplist.py
+++ b/lib/hachoir_parser/misc/bplist.py
@@ -15,12 +15,12 @@ Author: Robert Xiao
 Created: 2008-09-21
 """
 
-from lib.hachoir_parser import HachoirParser
-from lib.hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
+from hachoir_parser import HachoirParser
+from hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
 Bits, GenericInteger, Float32, Float64, UInt8, UInt64, Bytes, NullBytes, RawBytes, String)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import displayHandler
-from lib.hachoir_core.tools import humanDatetime
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import displayHandler
+from hachoir_core.tools import humanDatetime
 from datetime import datetime, timedelta
 
 class BPListTrailer(FieldSet):
diff --git a/lib/hachoir_parser/misc/chm.py b/lib/hachoir_parser/misc/chm.py
index 3a158e546baa832f97028741e379cdbe7653804e..6bff555098b99696b1f60495873ab8932b60e776 100644
--- a/lib/hachoir_parser/misc/chm.py
+++ b/lib/hachoir_parser/misc/chm.py
@@ -11,15 +11,15 @@ Author: Victor Stinner
 Creation date: 2007-03-04
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (Field, FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (Field, FieldSet, ParserError,
     Int32, UInt32, UInt64,
     RawBytes, PaddingBytes,
     Enum, String)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.win32 import GUID
-from lib.hachoir_parser.common.win32_lang_id import LANGUAGE_ID
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.win32 import GUID
+from hachoir_parser.common.win32_lang_id import LANGUAGE_ID
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class CWord(Field):
     """
diff --git a/lib/hachoir_parser/misc/common.py b/lib/hachoir_parser/misc/common.py
index b73c82128568efc146be751ba7293d2e980d72be..38d9f823706bd1c72aa120cfc5d470110045ebff 100644
--- a/lib/hachoir_parser/misc/common.py
+++ b/lib/hachoir_parser/misc/common.py
@@ -1,4 +1,4 @@
-from lib.hachoir_core.field import StaticFieldSet, Float32
+from hachoir_core.field import StaticFieldSet, Float32
 
 class Vertex(StaticFieldSet):
     format = ((Float32, "x"), (Float32, "y"), (Float32, "z"))
diff --git a/lib/hachoir_parser/misc/file_3do.py b/lib/hachoir_parser/misc/file_3do.py
index 3d909d56c6a01acad00646b2427feac879c63df2..3108d0ae076e52070517f22ff8433d0c24bba06d 100644
--- a/lib/hachoir_parser/misc/file_3do.py
+++ b/lib/hachoir_parser/misc/file_3do.py
@@ -7,12 +7,12 @@ Author: Cyril Zorin
 Creation date: 28 september 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt32, Int32, String, Float32,
     RawBytes, PaddingBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_parser.misc.common import Vertex, MapUV
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_parser.misc.common import Vertex, MapUV
 
 class Vector(FieldSet):
     def __init__(self, parent, name,
diff --git a/lib/hachoir_parser/misc/file_3ds.py b/lib/hachoir_parser/misc/file_3ds.py
index de05fa949d8da56fb27e4c763fb90bc2ef3b7557..aaf4fbf491afd10a02cd94d24932f4fb34945d66 100644
--- a/lib/hachoir_parser/misc/file_3ds.py
+++ b/lib/hachoir_parser/misc/file_3ds.py
@@ -3,13 +3,13 @@
 Author: Victor Stinner
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (StaticFieldSet, FieldSet,
     UInt16, UInt32, RawBytes, Enum, CString)
-from lib.hachoir_parser.image.common import RGB
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.misc.common import Vertex, MapUV
+from hachoir_parser.image.common import RGB
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.misc.common import Vertex, MapUV
 
 def readObject(parent):
     yield CString(parent, "name", "Object name")
diff --git a/lib/hachoir_parser/misc/gnome_keyring.py b/lib/hachoir_parser/misc/gnome_keyring.py
index 56b26a67352dce7ebc8fbe92801eafba6cda51bf..0bade36f5ea26fe56747b0048560890df3ed7c70 100644
--- a/lib/hachoir_parser/misc/gnome_keyring.py
+++ b/lib/hachoir_parser/misc/gnome_keyring.py
@@ -9,14 +9,14 @@ Author: Victor Stinner
 Creation date: 2008-04-09
 """
 
-from lib.hachoir_core.tools import paddingSize
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_core.tools import paddingSize
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Bit, NullBits, NullBytes,
     UInt8, UInt32, String, RawBytes, Enum,
     TimestampUnix64, CompressedField,
     SubFile)
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.endian import BIG_ENDIAN
 
 try:
     import hashlib
diff --git a/lib/hachoir_parser/misc/hlp.py b/lib/hachoir_parser/misc/hlp.py
index 24da2077559c430490e370dd1ccd149340d913d7..167dc7a6be21b27e3619616d821adc7fb8aaf4b6 100644
--- a/lib/hachoir_parser/misc/hlp.py
+++ b/lib/hachoir_parser/misc/hlp.py
@@ -10,12 +10,12 @@ Author: Victor Stinner
 Creation date: 2007-09-03
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Bits, Int32, UInt16, UInt32,
     NullBytes, RawBytes, PaddingBytes, String)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import (textHandler, hexadecimal,
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import (textHandler, hexadecimal,
     displayHandler, humanFilesize)
 
 class FileEntry(FieldSet):
diff --git a/lib/hachoir_parser/misc/lnk.py b/lib/hachoir_parser/misc/lnk.py
index b0512baaf0279f6cc20a2cd20bb9a3752ee93240..6e67bf1b07d06972ad04f212e9055d8f450cbd12 100644
--- a/lib/hachoir_parser/misc/lnk.py
+++ b/lib/hachoir_parser/misc/lnk.py
@@ -22,20 +22,20 @@ Changes:
     * Creation of the parser
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     CString, String,
     UInt32, UInt16, UInt8,
     Bit, Bits, PaddingBits,
     TimestampWin64, DateTimeMSDOS32,
     NullBytes, PaddingBytes, RawBytes, Enum)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.common.win32 import GUID
-from lib.hachoir_parser.common.msdos import MSDOSFileAttr16, MSDOSFileAttr32
-from lib.hachoir_core.text_handler import filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.common.win32 import GUID
+from hachoir_parser.common.msdos import MSDOSFileAttr16, MSDOSFileAttr32
+from hachoir_core.text_handler import filesizeHandler
 
-from lib.hachoir_core.tools import paddingSize
+from hachoir_core.tools import paddingSize
 
 class ItemIdList(FieldSet):
     def __init__(self, *args, **kw):
diff --git a/lib/hachoir_parser/misc/msoffice.py b/lib/hachoir_parser/misc/msoffice.py
index 960ec8253b139c4935fe2244e7ebc6ca0786281e..90ca1ca7add823678877e04a3cbadc7c5106ccb3 100644
--- a/lib/hachoir_parser/misc/msoffice.py
+++ b/lib/hachoir_parser/misc/msoffice.py
@@ -8,12 +8,12 @@ Author: Robert Xiao, Victor Stinner
 Creation: 2006-04-23
 """
 
-from lib.hachoir_parser import HachoirParser
-from lib.hachoir_core.field import FieldSet, RootSeekableFieldSet, RawBytes
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.stream import StringInputStream
-from lib.hachoir_parser.misc.msoffice_summary import SummaryFieldSet, CompObj
-from lib.hachoir_parser.misc.word_doc import WordDocumentFieldSet
+from hachoir_parser import HachoirParser
+from hachoir_core.field import FieldSet, RootSeekableFieldSet, RawBytes
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.stream import StringInputStream
+from hachoir_parser.misc.msoffice_summary import SummaryFieldSet, CompObj
+from hachoir_parser.misc.word_doc import WordDocumentFieldSet
 
 PROPERTY_NAME = {
     u"\5DocumentSummaryInformation": "doc_summary",
diff --git a/lib/hachoir_parser/misc/msoffice_summary.py b/lib/hachoir_parser/misc/msoffice_summary.py
index 4199934f4f477a1ff07efeca3e608247202e1de0..dd3234af12b321e01833b977d5aa50a616526546 100644
--- a/lib/hachoir_parser/misc/msoffice_summary.py
+++ b/lib/hachoir_parser/misc/msoffice_summary.py
@@ -7,18 +7,18 @@ Documents
  - Apache POI (HPSF Internals):
    http://poi.apache.org/hpsf/internals.html
 """
-from lib.hachoir_parser import HachoirParser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import HachoirParser
+from hachoir_core.field import (FieldSet, ParserError,
     RootSeekableFieldSet, SeekableFieldSet,
     Bit, Bits, NullBits,
     UInt8, UInt16, UInt32, TimestampWin64, TimedeltaWin64, Enum,
     Bytes, RawBytes, NullBytes, String,
     Int8, Int32, Float32, Float64, PascalString32)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.tools import createDict
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_parser.common.win32 import GUID, PascalStringWin32, CODEPAGE_CHARSET
-from lib.hachoir_parser.image.bmp import BmpHeader, parseImageData
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.tools import createDict
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_parser.common.win32 import GUID, PascalStringWin32, CODEPAGE_CHARSET
+from hachoir_parser.image.bmp import BmpHeader, parseImageData
 
 MAX_SECTION_COUNT = 100
 
diff --git a/lib/hachoir_parser/misc/ole2.py b/lib/hachoir_parser/misc/ole2.py
index 48200d91091018aa310bd1ebb5b88e5ddbc2d138..112b22b2d8bec1e3f7d8694eccacd6533cb67b12 100644
--- a/lib/hachoir_parser/misc/ole2.py
+++ b/lib/hachoir_parser/misc/ole2.py
@@ -19,17 +19,17 @@ Author: Victor Stinner
 Creation: 2006-04-23
 """
 
-from lib.hachoir_parser import HachoirParser
-from lib.hachoir_core.field import (
+from hachoir_parser import HachoirParser
+from hachoir_core.field import (
     FieldSet, ParserError, SeekableFieldSet, RootSeekableFieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64, Enum,
     Bytes, RawBytes, NullBytes, String)
-from lib.hachoir_core.text_handler import filesizeHandler
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_parser.common.win32 import GUID
-from lib.hachoir_parser.misc.msoffice import CustomFragment, OfficeRootEntry, PROPERTY_NAME
-from lib.hachoir_parser.misc.word_doc import WordDocumentParser
-from lib.hachoir_parser.misc.msoffice_summary import SummaryParser
+from hachoir_core.text_handler import filesizeHandler
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_parser.common.win32 import GUID
+from hachoir_parser.misc.msoffice import CustomFragment, OfficeRootEntry, PROPERTY_NAME
+from hachoir_parser.misc.word_doc import WordDocumentParser
+from hachoir_parser.misc.msoffice_summary import SummaryParser
 
 MIN_BIG_BLOCK_LOG2 = 6   # 512 bytes
 MAX_BIG_BLOCK_LOG2 = 14  # 64 kB
diff --git a/lib/hachoir_parser/misc/pcf.py b/lib/hachoir_parser/misc/pcf.py
index 163c1f3ca5ce43bfba890c36e5b5bad69f659ade..8d116bbafe378dccb8127ea64349ab35bdca0e1c 100644
--- a/lib/hachoir_parser/misc/pcf.py
+++ b/lib/hachoir_parser/misc/pcf.py
@@ -10,13 +10,13 @@ Author: Victor Stinner
 Creation date: 2007-03-20
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, Enum,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt32, Bytes, RawBytes, NullBytes,
     Bit, Bits, PaddingBits, CString)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.tools import paddingSize
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.tools import paddingSize
 
 class TOC(FieldSet):
     TYPE_NAME = {
diff --git a/lib/hachoir_parser/misc/pdf.py b/lib/hachoir_parser/misc/pdf.py
index 591e953c7f4d64daa949cde2b7b1304c33ab85ee..e69ba85e3ff831fd670aafad3c85e8a5ccf91158 100644
--- a/lib/hachoir_parser/misc/pdf.py
+++ b/lib/hachoir_parser/misc/pdf.py
@@ -4,16 +4,16 @@ Adobe Portable Document Format (PDF) parser.
 Author: Christophe Gisquet <christophe.gisquet@free.fr>
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (
+from hachoir_parser import Parser
+from hachoir_core.field import (
     Field, FieldSet,
     ParserError,
     GenericVector,
     UInt8, UInt16, UInt32,
     String,
     RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 MAGIC = "%PDF-"
 ENDMAGIC = "%%EOF"
diff --git a/lib/hachoir_parser/misc/pifv.py b/lib/hachoir_parser/misc/pifv.py
index e60e651e721f4983837f27b55d3844330fdd6d36..d947473316467ae74c1f5d2ebbb039af5478f51e 100644
--- a/lib/hachoir_parser/misc/pifv.py
+++ b/lib/hachoir_parser/misc/pifv.py
@@ -5,13 +5,13 @@ Author: Alexandre Boeglin
 Creation date: 08 jul 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt24, UInt32, UInt64, Enum,
     CString, String, PaddingBytes, RawBytes, NullBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import paddingSize, humanFilesize
-from lib.hachoir_parser.common.win32 import GUID
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import paddingSize, humanFilesize
+from hachoir_parser.common.win32 import GUID
 
 EFI_SECTION_COMPRESSION = 0x1
 EFI_SECTION_GUID_DEFINED = 0x2
diff --git a/lib/hachoir_parser/misc/torrent.py b/lib/hachoir_parser/misc/torrent.py
index 62653271dd4cf3eba938e3322259dbcf772dc631..88a1bea2f349e60e01f8f836f8b320035e5fc1ef 100644
--- a/lib/hachoir_parser/misc/torrent.py
+++ b/lib/hachoir_parser/misc/torrent.py
@@ -7,11 +7,11 @@ Status: To statufy
 Author: Christophe Gisquet <christophe.gisquet@free.fr>
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.tools import makePrintable, timestampUNIX, humanFilesize
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.tools import makePrintable, timestampUNIX, humanFilesize
 
 # Maximum number of bytes for string length
 MAX_STRING_LENGTH = 6   # length in 0..999999
diff --git a/lib/hachoir_parser/misc/ttf.py b/lib/hachoir_parser/misc/ttf.py
index 3a698ad16265fa0d66426fe7069122bae326d14c..f1024aabc794f69900de372116096f220f13bcb9 100644
--- a/lib/hachoir_parser/misc/ttf.py
+++ b/lib/hachoir_parser/misc/ttf.py
@@ -10,14 +10,14 @@ Author: Victor Stinner
 Creation date: 2007-02-08
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, Bit, Bits,
     PaddingBits, NullBytes,
     String, RawBytes, Bytes, Enum,
     TimestampMac32)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 MAX_NAME_COUNT = 300
 MIN_NB_TABLE = 3
diff --git a/lib/hachoir_parser/misc/word_doc.py b/lib/hachoir_parser/misc/word_doc.py
index 8c9df549e999b6d4c840c420592c413ecf3fdbee..88de4c297ec4d4ba071a6ba447e382f5dba7d9c5 100644
--- a/lib/hachoir_parser/misc/word_doc.py
+++ b/lib/hachoir_parser/misc/word_doc.py
@@ -11,13 +11,13 @@ Documents:
    section. Revised Dec 21 1998, added missing Document Properties (section).
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     Bit, Bits,
     UInt8, Int16, UInt16, UInt32, Int32,
     NullBytes, RawBytes, PascalString16,
     DateTimeMSDOS32)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN
 
 TIMESTAMP = DateTimeMSDOS32
 
diff --git a/lib/hachoir_parser/network/__init__.py b/lib/hachoir_parser/network/__init__.py
index 0781e00fc1083e8756af9500c037a44d2ac95ace..a7fe24734553b0981d39f5a29a7359a4a8bdc3c0 100644
--- a/lib/hachoir_parser/network/__init__.py
+++ b/lib/hachoir_parser/network/__init__.py
@@ -1,2 +1,2 @@
-from lib.hachoir_parser.network.tcpdump import TcpdumpFile
+from hachoir_parser.network.tcpdump import TcpdumpFile
 
diff --git a/lib/hachoir_parser/network/common.py b/lib/hachoir_parser/network/common.py
index bc049b6b340cbc8814318524146d2aa9733ac843..d6e9feaa61cfd52166c1950a482a467a2d4b2319 100644
--- a/lib/hachoir_parser/network/common.py
+++ b/lib/hachoir_parser/network/common.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.field import FieldSet, Field, Bits
-from lib.hachoir_core.bits import str2hex
-from lib.hachoir_parser.network.ouid import REGISTERED_OUID
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.field import FieldSet, Field, Bits
+from hachoir_core.bits import str2hex
+from hachoir_parser.network.ouid import REGISTERED_OUID
+from hachoir_core.endian import BIG_ENDIAN
 from socket import gethostbyaddr, herror as socket_host_error
 
 def ip2name(addr):
diff --git a/lib/hachoir_parser/network/tcpdump.py b/lib/hachoir_parser/network/tcpdump.py
index 1625c845a59056bf7af4b286fc230c8a60263ba2..564e61892ca958fdc59b4972a5774138e6e2a74d 100644
--- a/lib/hachoir_parser/network/tcpdump.py
+++ b/lib/hachoir_parser/network/tcpdump.py
@@ -12,16 +12,16 @@ Author: Victor Stinner
 Creation: 23 march 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     Enum, Bytes, NullBytes, RawBytes,
     UInt8, UInt16, UInt32, Int32, TimestampUnix32,
     Bit, Bits, NullBits)
-from lib.hachoir_core.endian import NETWORK_ENDIAN, LITTLE_ENDIAN
-from lib.hachoir_core.tools import humanDuration
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import createDict
-from lib.hachoir_parser.network.common import MAC48_Address, IPv4_Address, IPv6_Address
+from hachoir_core.endian import NETWORK_ENDIAN, LITTLE_ENDIAN
+from hachoir_core.tools import humanDuration
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import createDict
+from hachoir_parser.network.common import MAC48_Address, IPv4_Address, IPv6_Address
 
 def diff(field):
     return humanDuration(field.value*1000)
diff --git a/lib/hachoir_parser/parser.py b/lib/hachoir_parser/parser.py
index 833e8a79e9b1fbff2137daf54f55438cd9dbb1b9..e81241588be10a954d16ad6e10f818c2215ce3fc 100644
--- a/lib/hachoir_parser/parser.py
+++ b/lib/hachoir_parser/parser.py
@@ -1,8 +1,8 @@
-import lib.hachoir_core.config as config
-from lib.hachoir_core.field import Parser as GenericParser
-from lib.hachoir_core.error import HACHOIR_ERRORS, HachoirError, error
-from lib.hachoir_core.tools import makeUnicode
-from lib.hachoir_core.i18n import _
+import hachoir_core.config as config
+from hachoir_core.field import Parser as GenericParser
+from hachoir_core.error import HACHOIR_ERRORS, HachoirError, error
+from hachoir_core.tools import makeUnicode
+from hachoir_core.i18n import _
 from inspect import getmro
 
 
diff --git a/lib/hachoir_parser/parser_list.py b/lib/hachoir_parser/parser_list.py
index 88692f3c402ea203412fe0c5f1424c418c8cb058..0347840fdc99586cf0a320548a88c905bb60f9f9 100644
--- a/lib/hachoir_parser/parser_list.py
+++ b/lib/hachoir_parser/parser_list.py
@@ -1,8 +1,8 @@
 import re
 import types
-from lib.hachoir_core.error import error
-from lib.hachoir_core.i18n import _
-from lib.hachoir_parser import Parser, HachoirParser
+from hachoir_core.error import error
+from hachoir_core.i18n import _
+from hachoir_parser import Parser, HachoirParser
 import sys
 
 ### Parser list ################################################################
@@ -198,7 +198,7 @@ class HachoirParserList(ParserList):
             return self.parser_list
 
         todo = []
-        from lib import hachoir_parser
+        import hachoir_parser
         module = hachoir_parser
         for attrname in dir(module):
             attr = getattr(module, attrname)
diff --git a/lib/hachoir_parser/program/__init__.py b/lib/hachoir_parser/program/__init__.py
index 5dba92d3cf45db89b81ed89346ade882eb3993cc..2e719f02b32505168181c2764a8572938755d339 100644
--- a/lib/hachoir_parser/program/__init__.py
+++ b/lib/hachoir_parser/program/__init__.py
@@ -1,6 +1,6 @@
-from lib.hachoir_parser.program.elf import ElfFile
-from lib.hachoir_parser.program.exe import ExeFile
-from lib.hachoir_parser.program.python import PythonCompiledFile
-from lib.hachoir_parser.program.java import JavaCompiledClassFile
-from lib.hachoir_parser.program.prc import PRCFile
+from hachoir_parser.program.elf import ElfFile
+from hachoir_parser.program.exe import ExeFile
+from hachoir_parser.program.python import PythonCompiledFile
+from hachoir_parser.program.java import JavaCompiledClassFile
+from hachoir_parser.program.prc import PRCFile
 
diff --git a/lib/hachoir_parser/program/elf.py b/lib/hachoir_parser/program/elf.py
index 7c66ca2820b5e949547a1c1240682ef07cacccf7..3d5731e2244d0f245931454c38a6c420c1125ba7 100644
--- a/lib/hachoir_parser/program/elf.py
+++ b/lib/hachoir_parser/program/elf.py
@@ -5,12 +5,12 @@ Author: Victor Stinner
 Creation date: 08 may 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     String, Bytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class ElfHeader(FieldSet):
     static_size = 52*8
diff --git a/lib/hachoir_parser/program/exe.py b/lib/hachoir_parser/program/exe.py
index 531b89febc0522ec2c309893247e905764abc76c..5a7bc72769195c154909fa8e678188d498ca02ae 100644
--- a/lib/hachoir_parser/program/exe.py
+++ b/lib/hachoir_parser/program/exe.py
@@ -9,15 +9,15 @@ Author: Victor Stinner
 Creation date: 2006-08-13
 """
 
-from lib.hachoir_parser import HachoirParser
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.field import (FieldSet, RootSeekableFieldSet,
+from hachoir_parser import HachoirParser
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.field import (FieldSet, RootSeekableFieldSet,
     UInt16, UInt32, String,
     RawBytes, PaddingBytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_parser.program.exe_ne import NE_Header
-from lib.hachoir_parser.program.exe_pe import PE_Header, PE_OptHeader, SectionHeader
-from lib.hachoir_parser.program.exe_res import PE_Resource, NE_VersionInfoNode
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_parser.program.exe_ne import NE_Header
+from hachoir_parser.program.exe_pe import PE_Header, PE_OptHeader, SectionHeader
+from hachoir_parser.program.exe_res import PE_Resource, NE_VersionInfoNode
 
 MAX_NB_SECTION = 50
 
diff --git a/lib/hachoir_parser/program/exe_ne.py b/lib/hachoir_parser/program/exe_ne.py
index b4dbe395be5759fd58d783cc72fdd8b4912bbfe7..cf62e885da2e9e69b30fffe3f4b0bb15680a5a4d 100644
--- a/lib/hachoir_parser/program/exe_ne.py
+++ b/lib/hachoir_parser/program/exe_ne.py
@@ -1,7 +1,7 @@
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_core.field import (FieldSet,
     Bit, UInt8, UInt16, UInt32, Bytes,
     PaddingBits, PaddingBytes, NullBits, NullBytes)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class NE_Header(FieldSet):
     static_size = 64*8
diff --git a/lib/hachoir_parser/program/exe_pe.py b/lib/hachoir_parser/program/exe_pe.py
index c8fa101ce5ad0f583edd665a1a746f5b017850f3..b3b241a58f84a2ce1ed8a1a408ae84895b4423c7 100644
--- a/lib/hachoir_parser/program/exe_pe.py
+++ b/lib/hachoir_parser/program/exe_pe.py
@@ -1,9 +1,9 @@
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     Bit, UInt8, UInt16, UInt32, TimestampUnix32,
     Bytes, String, Enum,
     PaddingBytes, PaddingBits, NullBytes, NullBits)
-from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from lib.hachoir_core.error import HACHOIR_ERRORS
+from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from hachoir_core.error import HACHOIR_ERRORS
 
 class SectionHeader(FieldSet):
     static_size = 40 * 8
diff --git a/lib/hachoir_parser/program/exe_res.py b/lib/hachoir_parser/program/exe_res.py
index 22b25d0e186dcfe42f1d8a616a594e5e4b7d86a7..850fcf018515995ca48a54f42cdf48dce2d00375 100644
--- a/lib/hachoir_parser/program/exe_res.py
+++ b/lib/hachoir_parser/program/exe_res.py
@@ -9,15 +9,15 @@ Author: Victor Stinner
 Creation date: 2007-01-19
 """
 
-from lib.hachoir_core.field import (FieldSet, ParserError, Enum,
+from hachoir_core.field import (FieldSet, ParserError, Enum,
     Bit, Bits, SeekableFieldSet,
     UInt16, UInt32, TimestampUnix32,
     RawBytes, PaddingBytes, NullBytes, NullBits,
     CString, String)
-from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from lib.hachoir_core.tools import createDict, paddingSize, alignValue, makePrintable
-from lib.hachoir_core.error import HACHOIR_ERRORS
-from lib.hachoir_parser.common.win32 import BitmapInfoHeader
+from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from hachoir_core.tools import createDict, paddingSize, alignValue, makePrintable
+from hachoir_core.error import HACHOIR_ERRORS
+from hachoir_parser.common.win32 import BitmapInfoHeader
 
 MAX_DEPTH = 5
 MAX_INDEX_PER_HEADER = 300
diff --git a/lib/hachoir_parser/program/java.py b/lib/hachoir_parser/program/java.py
index 2e58552c3bd3f9376feaf508b3aa81b800578cf2..7329cbe07aa08bc54a7368a38f84116cdeaa1f19 100644
--- a/lib/hachoir_parser/program/java.py
+++ b/lib/hachoir_parser/program/java.py
@@ -59,15 +59,15 @@ TODO/FIXME:
    should update the length field of it's entry, etc.  Sounds like a huge work.
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (
+from hachoir_parser import Parser
+from hachoir_core.field import (
         ParserError, FieldSet, StaticFieldSet,
         Enum, RawBytes, PascalString16, Float32, Float64,
         Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64,
         Bit, NullBits )
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.tools import paddingSize
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.tools import paddingSize
 
 ###############################################################################
 def parse_flags(flags, flags_dict, show_unknown_flags=True, separator=" "):
diff --git a/lib/hachoir_parser/program/prc.py b/lib/hachoir_parser/program/prc.py
index 19db7885886d9ad65d49753fd98f8020877f046f..f4db0254ceb1da5a6ce6dd9a62955f212cd1e72b 100644
--- a/lib/hachoir_parser/program/prc.py
+++ b/lib/hachoir_parser/program/prc.py
@@ -5,11 +5,11 @@ Author: Sebastien Ponce
 Creation date: 29 october 2008
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt16, UInt32, TimestampMac32,
     String, RawBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.endian import BIG_ENDIAN
 
 class PRCHeader(FieldSet):
     static_size = 78*8
diff --git a/lib/hachoir_parser/program/python.py b/lib/hachoir_parser/program/python.py
index 5075f7f67fcc2cda246eca1afd61c4974c5e6a90..6eea32bc7db1c611dde7b5f8a71cf633c657c703 100644
--- a/lib/hachoir_parser/program/python.py
+++ b/lib/hachoir_parser/program/python.py
@@ -11,14 +11,14 @@ Creation: 25 march 2005
 
 DISASSEMBLE = False
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, UInt8,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, UInt8,
     UInt16, Int32, UInt32, Int64, ParserError, Float64, Enum,
     Character, Bytes, RawBytes, PascalString8, TimestampUnix32)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.bits import long2raw
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
-from lib.hachoir_core.i18n import ngettext
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.bits import long2raw
+from hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.i18n import ngettext
 if DISASSEMBLE:
     from dis import dis
 
diff --git a/lib/hachoir_parser/template.py b/lib/hachoir_parser/template.py
index 0df480ebd87652fe1eb8f0b1ee5be1f50fbc1800..836215c1217b625c697f637a24580e889d39b6cb 100644
--- a/lib/hachoir_parser/template.py
+++ b/lib/hachoir_parser/template.py
@@ -13,10 +13,10 @@ Creation date: YYYY-mm-DD
 """
 
 # TODO: Just keep what you need
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (ParserError,
     UInt8, UInt16, UInt32, String, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class TODOFile(Parser):
     PARSER_TAGS = {
diff --git a/lib/hachoir_parser/video/__init__.py b/lib/hachoir_parser/video/__init__.py
index 1fabf92a7e3450739b243f5f28fd03068979a62e..26f787e9589f668688265e7a08f5d8791f20191e 100644
--- a/lib/hachoir_parser/video/__init__.py
+++ b/lib/hachoir_parser/video/__init__.py
@@ -1,6 +1,6 @@
-from lib.hachoir_parser.video.asf import AsfFile
-from lib.hachoir_parser.video.flv import FlvFile
-from lib.hachoir_parser.video.mov import MovFile
-from lib.hachoir_parser.video.mpeg_video import MPEGVideoFile
-from lib.hachoir_parser.video.mpeg_ts import MPEG_TS
+from hachoir_parser.video.asf import AsfFile
+from hachoir_parser.video.flv import FlvFile
+from hachoir_parser.video.mov import MovFile
+from hachoir_parser.video.mpeg_video import MPEGVideoFile
+from hachoir_parser.video.mpeg_ts import MPEG_TS
 
diff --git a/lib/hachoir_parser/video/amf.py b/lib/hachoir_parser/video/amf.py
index 963f3207be40182e39c6f1eae0743539797b70c1..496c5c1d6c1c7bdb9e6c94edf5a424b364e870af 100644
--- a/lib/hachoir_parser/video/amf.py
+++ b/lib/hachoir_parser/video/amf.py
@@ -10,9 +10,9 @@ Author: Victor Stinner
 Creation date: 4 november 2006
 """
 
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, PascalString16, Float64)
-from lib.hachoir_core.tools import timestampUNIX
+from hachoir_core.tools import timestampUNIX
 
 def parseUTF8(parent):
     yield PascalString16(parent, "value", charset="UTF-8")
diff --git a/lib/hachoir_parser/video/asf.py b/lib/hachoir_parser/video/asf.py
index 35711d09b497682b36428cedb65fc1d311ebdf5b..39205ea67f856c7559286eb838a1c976b6bc3f87 100644
--- a/lib/hachoir_parser/video/asf.py
+++ b/lib/hachoir_parser/video/asf.py
@@ -10,20 +10,20 @@ Author: Victor Stinner
 Creation: 5 august 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, UInt64,
     TimestampWin64, TimedeltaWin64,
     String, PascalString16, Enum,
     Bit, Bits, PaddingBits,
     PaddingBytes, NullBytes, RawBytes)
-from lib.hachoir_core.endian import LITTLE_ENDIAN
-from lib.hachoir_core.text_handler import (
+from hachoir_core.endian import LITTLE_ENDIAN
+from hachoir_core.text_handler import (
     displayHandler, filesizeHandler)
-from lib.hachoir_core.tools import humanBitRate
+from hachoir_core.tools import humanBitRate
 from itertools import izip
-from lib.hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
-from lib.hachoir_parser.common.win32 import BitmapInfoHeader, GUID
+from hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
+from hachoir_parser.common.win32 import BitmapInfoHeader, GUID
 
 MAX_HEADER_SIZE = 100 * 1024  # bytes
 
diff --git a/lib/hachoir_parser/video/flv.py b/lib/hachoir_parser/video/flv.py
index c2723d9f280a6970ae5a97c660ca8e10a87fad44..5edbe7ab2a3500f54ddfbd75b7e1f56f93bd9270 100644
--- a/lib/hachoir_parser/video/flv.py
+++ b/lib/hachoir_parser/video/flv.py
@@ -12,14 +12,14 @@ Author: Victor Stinner
 Creation date: 4 november 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet,
     UInt8, UInt24, UInt32, NullBits, NullBytes,
     Bit, Bits, String, RawBytes, Enum)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_parser.audio.mpeg_audio import Frame
-from lib.hachoir_parser.video.amf import AMFObject
-from lib.hachoir_core.tools import createDict
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_parser.audio.mpeg_audio import Frame
+from hachoir_parser.video.amf import AMFObject
+from hachoir_core.tools import createDict
 
 SAMPLING_RATE = {
     0: ( 5512, "5.5 kHz"),
diff --git a/lib/hachoir_parser/video/mov.py b/lib/hachoir_parser/video/mov.py
index 32a81d094f7ce1b8e1bdd66dc1503f278cfb83eb..f6b0a8ab6ff1af30bc9582efdd290cb5ee283999 100644
--- a/lib/hachoir_parser/video/mov.py
+++ b/lib/hachoir_parser/video/mov.py
@@ -15,13 +15,13 @@ Author: Victor Stinner
 Creation: 2 august 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (ParserError, FieldSet, MissingField,
+from hachoir_parser import Parser
+from hachoir_core.field import (ParserError, FieldSet, MissingField,
     UInt8, Int16, UInt16, UInt32, TimestampMac32,
     String, PascalString8, CString,
     RawBytes, PaddingBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 class QTFloat32(FieldSet):
     static_size = 32
diff --git a/lib/hachoir_parser/video/mpeg_ts.py b/lib/hachoir_parser/video/mpeg_ts.py
index c158dc9e96e60f718aba9de883a95bb28b43563a..56b9bc85e02a2abf790af0835b0f575797c400d6 100644
--- a/lib/hachoir_parser/video/mpeg_ts.py
+++ b/lib/hachoir_parser/video/mpeg_ts.py
@@ -9,11 +9,11 @@ Author: Victor Stinner
 Creation date: 13 january 2007
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_core.field import (FieldSet, ParserError, MissingField,
+from hachoir_parser import Parser
+from hachoir_core.field import (FieldSet, ParserError, MissingField,
     UInt8, Enum, Bit, Bits, RawBytes)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 class Packet(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/video/mpeg_video.py b/lib/hachoir_parser/video/mpeg_video.py
index 9545681ec5b2ca94f64d2070ecba2503bbe36ef9..5a5d51c823b7cb5969322a3976c61f7225c0848c 100644
--- a/lib/hachoir_parser/video/mpeg_video.py
+++ b/lib/hachoir_parser/video/mpeg_video.py
@@ -13,17 +13,17 @@ Author: Victor Stinner
 Creation date: 15 september 2006
 """
 
-from lib.hachoir_parser import Parser
-from lib.hachoir_parser.audio.mpeg_audio import MpegAudioFile
-from lib.hachoir_core.field import (FieldSet,
+from hachoir_parser import Parser
+from hachoir_parser.audio.mpeg_audio import MpegAudioFile
+from hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, RawBits, PaddingBits, NullBits,
     UInt8, UInt16,
     RawBytes, PaddingBytes,
     Enum)
-from lib.hachoir_core.endian import BIG_ENDIAN
-from lib.hachoir_core.stream import StringInputStream
-from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from hachoir_core.endian import BIG_ENDIAN
+from hachoir_core.stream import StringInputStream
+from hachoir_core.text_handler import textHandler, hexadecimal
 
 class FragmentGroup:
     def __init__(self, parser):
diff --git a/lib/httplib2/__init__.py b/lib/httplib2/__init__.py
index c6d99723c57760e9ed2121a0bf36c392c9b1887a..b88eb3f7cbc498595654497212bec6844b3d44cc 100644
--- a/lib/httplib2/__init__.py
+++ b/lib/httplib2/__init__.py
@@ -56,7 +56,7 @@ import socket
 
 # Try using local version, followed by system, and none if neither are found
 try:
-    import lib.socks as socks
+    import socks as socks
 except ImportError:
     try:
         import socks as socks
diff --git a/lib/jsonrpclib/SimpleJSONRPCServer.py b/lib/jsonrpclib/SimpleJSONRPCServer.py
index e4b20afcb1c586895281d6c140c3f93bf969535c..d76da73e3fe081f7edba3d96f6c8b89571558ed6 100644
--- a/lib/jsonrpclib/SimpleJSONRPCServer.py
+++ b/lib/jsonrpclib/SimpleJSONRPCServer.py
@@ -1,6 +1,6 @@
-import lib.jsonrpclib
-from lib.jsonrpclib import Fault
-from lib.jsonrpclib.jsonrpc import USE_UNIX_SOCKETS
+import jsonrpclib
+from jsonrpclib import Fault
+from jsonrpclib.jsonrpc import USE_UNIX_SOCKETS
 import SimpleXMLRPCServer
 import SocketServer
 import socket
diff --git a/lib/jsonrpclib/jsonclass.py b/lib/jsonrpclib/jsonclass.py
index 519bdec7cc098803ed60bf2ce7459dafbe6a4e0a..298c3da3ee9f5c6ebc1d063486cc1b2c5ccb415f 100644
--- a/lib/jsonrpclib/jsonclass.py
+++ b/lib/jsonrpclib/jsonclass.py
@@ -3,7 +3,7 @@ import inspect
 import re
 import traceback
 
-from lib.jsonrpclib import config
+from jsonrpclib import config
 
 iter_types = [
     types.DictType,
diff --git a/lib/jsonrpclib/jsonrpc.py b/lib/jsonrpclib/jsonrpc.py
index a4d4c33adebfb1ca15de2233b37b11e8353f48bf..e11939aea1f505b94457fa31843cfcc9f044c2da 100644
--- a/lib/jsonrpclib/jsonrpc.py
+++ b/lib/jsonrpclib/jsonrpc.py
@@ -57,9 +57,9 @@ import string
 import random
 
 # Library includes
-import lib.jsonrpclib
-from lib.jsonrpclib import config
-from lib.jsonrpclib import history
+import jsonrpclib
+from jsonrpclib import config
+from jsonrpclib import history
 
 # JSON library importing
 cjson = None
@@ -71,7 +71,7 @@ except ImportError:
         import json
     except ImportError:
         try:
-            import lib.simplejson as json
+            import simplejson as json
         except ImportError:
             raise ImportError(
                 'You must have the cjson, json, or simplejson ' +
@@ -481,7 +481,7 @@ def dumps(params=[], methodname=None, methodresponse=None,
         raise ValueError('Method name must be a string, or methodresponse '+
                          'must be set to True.')
     if config.use_jsonclass == True:
-        from lib.jsonrpclib import jsonclass
+        from jsonrpclib import jsonclass
         params = jsonclass.dump(params)
     if methodresponse is True:
         if rpcid is None:
@@ -509,7 +509,7 @@ def loads(data):
     # should return something like the following:
     # { 'jsonrpc':'2.0', 'error': fault.error(), id: None }
     if config.use_jsonclass == True:
-        from lib.jsonrpclib import jsonclass
+        from jsonrpclib import jsonclass
         result = jsonclass.load(result)
     return result
 
diff --git a/lib/growl/__init__.py b/lib/libgrowl/__init__.py
similarity index 100%
rename from lib/growl/__init__.py
rename to lib/libgrowl/__init__.py
diff --git a/lib/growl/gntp.py b/lib/libgrowl/gntp.py
similarity index 100%
rename from lib/growl/gntp.py
rename to lib/libgrowl/gntp.py
diff --git a/lib/growl/gntp_bridge.py b/lib/libgrowl/gntp_bridge.py
similarity index 100%
rename from lib/growl/gntp_bridge.py
rename to lib/libgrowl/gntp_bridge.py
diff --git a/lib/trakt/__init__.py b/lib/libtrakt/__init__.py
similarity index 100%
rename from lib/trakt/__init__.py
rename to lib/libtrakt/__init__.py
diff --git a/lib/trakt/exceptions.py b/lib/libtrakt/exceptions.py
similarity index 100%
rename from lib/trakt/exceptions.py
rename to lib/libtrakt/exceptions.py
diff --git a/lib/trakt/trakt.py b/lib/libtrakt/trakt.py
similarity index 100%
rename from lib/trakt/trakt.py
rename to lib/libtrakt/trakt.py
diff --git a/lib/oauth2/__init__.py b/lib/oauth2/__init__.py
index 2b9389096eaa8d68fd4201d237aa8dedeb655367..a9714fe43e6860b0c28a0b5a5b95c03b8bb6d523 100644
--- a/lib/oauth2/__init__.py
+++ b/lib/oauth2/__init__.py
@@ -28,7 +28,7 @@ import random
 import urlparse
 import hmac
 import binascii
-import lib.httplib2 as httplib2
+import httplib2 as httplib2
 
 try:
     from urlparse import parse_qs, parse_qsl
diff --git a/lib/scene_exceptions/__init__.py b/lib/scene_exceptions/__init__.py
deleted file mode 100644
index a0ceb39b11fbd73963b90cc128348e520dbc14b9..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from os.path import dirname, abspath
-TVDB_EXCEPTIONS = dirname(abspath(__file__)) + '/tvdb/exceptions.txt'
-TVRAGE_EXCEPTIONS = dirname(abspath(__file__)) + '/tvrage/exceptions.txt'
diff --git a/lib/scene_exceptions/tvdb/README.md b/lib/scene_exceptions/tvdb/README.md
deleted file mode 100644
index 6e6fd15b4564697747db9dcab1c2f309dd847e98..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/tvdb/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-**How to add exceptions**
-
-1. Check TVDB
-    * get the TVDB ID of the show
-    * search for any similar shows that could conflict, note them
-
-2. Check NewzNab provider
-    * find all scene names of the correct show
-    * find any shows which may conflict because of similar names
-
-3. Fixup scene names from step 2
-    * for each scene name turn it back into a show name. This means adding back parentheses, apostrophes, ampersands, colons, exclamation marks, and question marks.
-eg. Shows.Name.2010 -> Show's Name! (2010) (since SB will turn that back into Shows.Name.2010)
-
-Remember that this list appends the TVDB name, thus there is no need to include it.
-
-Exceptions should be of the format:
-
-      tvdb_id: 'Name 1', 'Name 2', ..., 'Name N'
-
-Apostrophes inside the show name should be escaped with a backslash ('Show\'s Name').
diff --git a/lib/scene_exceptions/tvdb/exceptions.txt b/lib/scene_exceptions/tvdb/exceptions.txt
deleted file mode 100644
index d615aad4038f468eed30aab35485f7e8ba5b35e2..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/tvdb/exceptions.txt
+++ /dev/null
@@ -1,421 +0,0 @@
-72546: 'CSI',
-73696: 'CSI: New York',
-110381: 'Archer',
-83897: 'Life After People: The Series',
-80552: 'Kitchen Nightmares (US)', 'Kitchen Nightmares US',
-75692: 'Law & Order: SVU',
-71489: 'Law and Order CI', 'Law & Order: CI',
-79590: 'Dancing With The Stars (US)',
-73387: 'The Late Late Show with Craig Ferguson', 'Craig Ferguson',
-75088: 'David Letterman',
-76706: 'Big Brother (US)',
-105521: 'The Colony', 'The Colony (US)',
-76235: 'America\'s Funniest Home Videos', 'AFHV',
-139941: 'Childrens Hospital (US)', 'Childrens Hospital',
-83123: 'Merlin', 'Merlin (2008)',
-76779: 'WWE Monday Night RAW',
-164951: 'Shit My Dad Says',
-168161: 'Law & Order: Los Angeles', 'Law & Order: LA',
-77526: 'Star Trek: TOS',
-72194: 'The Ellen Degeneres Show', 'Ellen Degeneres',
-72073: 'Star Trek DS9',
-195831: 'Zane Lamprey\'s Drinking Made Easy',
-76133: 'Poirot', 'Agatha Christie\'s Poirot', 'Agatha Christie Poirot',
-77444: 'This Old House Program',
-73290: '60 Minutes (US)',
-194751: 'Conan', 'Conan (2010)',
-164451: 'Carlos (2010)',
-70726: 'Babylon 5', 'Babylon5',
-83714: 'Genius', 'Genius With Dave Gormand',
-212571: 'Come Fly With Me (2010)',
-81563: 'Border Security AU Front Line', 'Border Security Australias Front Line', 'Border Security Australias Frontline', 
-172381: 'Silent Library (US)',
-80646: 'Frontline (US)', 'Frontline US',
-189931: 'RBT (AU)',
-73255: 'House', 'House M D',
-73244: 'The Office (US)', 'The Office',
-81386: 'Being Human', 'Being Human (UK)',
-89991: 'Out of the Wild: The Alaskan Experiment', 'Out of the Wild: Venezuela',
-222551: 'Only in America With Larry the Cable Guy', 'Only in America',
-77733: 'Degrassi: The Next Generation', 'Degrassi TNG', 'Degrassi',
-72224: 'The Outer Limits (1995)', 'The Outer Limits: TNS', 'The Outer Limits: The New Series',
-78949: 'Thomas The Tank Engine & Friends', 'Thomas And Friends',
-90651: 'Selling Houses Australia', 'Selling Houses Australia Extreme',
-70578: 'Highway Patrol', 'Highway Patrol (AU)',
-71699: 'The Outer Limits (1963)',
-221001: '10 O Clock Live',
-238521: 'Adam Eva',
-74512: 'Wife Swap (US)',
-166851: 'Noise Control (NZ)',
-83774: 'Antiques Roadshow (UK)', 'Antiques Roadshow UK',
-156771: 'National Geographic Shark Men'
-246281: 'King', 'King (2011)',
-76168: 'Batman: The Animated Series', 'Batman: TAS',
-120541: 'Russell Howards Good News', 'Russell Howards Good News (UK)',
-97731: 'Tosh.0', 'Tosh 0',
-76736: 'The Black Adder', 'BlackAdder',
-193501: 'XIII', 'XIII (2011)', 'XIII The Series (2011)',
-248618: 'The Amazing Race Australia', 'The Amazing Race AU',
-81559: 'The Biggest Loser Australia', 'The Biggest Loser AU',
-92361: 'Known Universe', 'National Geographic Known Universe',
-78804: 'Doctor Who 2005',
-79771: 'Air Crash Investigation', 'Air Crash Investigation Mayday', 'National Geographic Air Crash Investigation',
-210171: 'The Killing (2011)', 'The Killing',
-81670: 'The Murdoch Mysteries', 'Murdoch Mysteries', 'The Murdoch Mysteries (2008)',
-79668: 'Anthony Bourdain: No Reservations', 'No Reservations',
-70336: 'The Tonight Show with Jay Leno', 'Jay Leno',
-139681: 'The Smoking Gun Presents: The World\'s Dumbest', 'World\'s Dumbest',
-80625: 'MegaStructures', 'National Geographic Megastructures',
-80994: 'National Geographic Channel Naked Science', 'National Geographic Naked Science',
-82374: 'Ultimate Factories', 'National Geographic Ultimate Factories',
-71985: 'Taboo', 'National Geographic Taboo',
-84146: 'Secret Millionaire', 'Secret Millionaire US',
-85228: 'Law & Order: UK', 'Law and Order UK',
-74768: 'The Block', 'The Block AU', 'The Block All Stars', 'The Block All Stars AU', 'The Block AU All Stars', 'The Block AU Sky High', 'The Block AU Fans vs Faves', 'The Block AU Glasshouse',
-174681: 'Scooby-Doo! Mystery Incorporated', 'Scooby Doo Mystery Incorporated',
-249892: 'Extreme Chef', 'Extreme Chefs',
-145541: 'The Marriage Ref', 'The Marriage Ref US',
-250095: 'The Marriage Ref(UK)', 'The Marriage Ref UK',
-168621: 'Melissa & Joey', 'Melissa and Joey',
-100061: 'Undercover Boss', 'Undercover Boss UK',
-140141: 'Undercover Boss (US)', 'Undercover Boss US',
-250015: 'The Indestructibles', 'The Indestructibles US',
-248261: 'National Terrorism Strike Force: San Diego: Sport Utility Vehicle', 'National Terrorism Strike Force: San Diego: SUV', 'NTSF:SD:SUV::', 'NTSF SD SUV',
-249980: 'Restoration Home', 'Restoration Home UK',
-250153: 'Top Design Australia', 'Top Design AU',
-250331: 'Richard Hammond\'s Journey To...', 'Richard Hammonds Journey To',
-248503: 'The Hour (2011)', 'The Hour UK 2011', 'The Hour 2011',
-81491: 'Big Brother After Dark'. 'Big Brother US After Dark', 'Big Brother After Dark US',
-196351: 'T.U.F.F. Puppy', 'TUFF Puppy',
-250445: 'The Renovators', 'The Renovators AU',
-193821: 'Iron Man 2010', 'Iron Man 2011',
-220141: 'Wolverine', 'Wolverine 2011',
-155201: 'Louie (2010)', 'Louie',
-70760: 'Celebrity Big Brother', 'Celebrity Big Brother UK',
-80522: 'Who Do You Think You Are?', 'Who Do You Think You Are UK',
-74626: 'The X Factor', 'The X Factor UK',
-75567: 'The Xtra Factor', 'The Xtra Factor UK',
-152831: 'Adventure Time with Finn and Jake',
-75393: 'The X Factor (AU)', 'The X Factor Australia',
-79565: 'The Real Hustle', 'The Real Hustle UK',
-71998: 'Jimmy Kimmel Live', 'Jimmy Kimmel',
-71470: 'Star Trek: The Next Generation', 'Star Trek TNG',
-82918: 'Diners, Drive-ins and Dives', 'Diners Drive ins and Dives', 'Diners Driveins and Dives',
-94551: 'Parenthood (2010)', 'Parenthood', 'Parenthood 2010',
-249708: 'The Car Show', 'The Car Show 2011',
-198841: 'Undercover Boss (Au)', 'Undercover Boss Australia',
-212171: 'My Little Pony: Friendship is Magic', 'My Little Pony Friendship is Magic',
-118001: 'Beauty and the Geek Australia', 'Beauty and the Geek AU',
-80159: 'Sanctuary', 'Sanctuary US',
-82135: 'The Gruen Transfer', 'Gruen Nation', 'Gruen Sweat',
-78846: 'Shameless UK',
-248834: 'Last Man Standing (2011)', 'Last Man Standing US', 'Last Man Standing',
-249361: 'Boss (2011)', 'Boss',
-95441: 'NCIS: Los Angeles', 'NCIS LA',
-248835: 'Once Upon a Time (2011)', 'Once Upon a Time',
-76119: 'NOVA', 'PBS NOVA',
-251418: 'Frozen Planet', 'David Attenborough Frozen Planet', 'BBC Frozen Planet',
-252319: 'Dragons\' Den: How To Win In The Den', 'How to win in the Den', 
-149101: 'A League of Their Own (2010)', 'A League of Their Own UK',
-70994: 'MASH',
-72164: 'The O.C.', 'The OC',
-70327: 'Buffy the Vampire Slayer', 'Buffy',
-70572: 'Little Rascals', 'The Little Rascals',
-194261: 'PhoneShop', 'Phone Shop',
-72716: 'QI XL', 'BBC QI XL', 'BBC QI XL (Quite Interesting)', 'BBC QI', 'BBC QI (Quite Interesting)',
-197001: 'Supernatural The Animation', 'Supernatural: TAS',
-122281: 'Garrow\'s Law - Tales from the Old Bailey', 'Garrows Law',
-249229: 'A.N.T Farm', 'ANT Farm',
-78051: 'Never Mind the Buzzcocks', 'Never Mind the Buzzcocks UK',
-208111: 'Gold Rush', 'Gold Rush: Alaska',
-85168: 'How the Earth Was Made', 'History channel How the Earth Was Made',
-71256: 'The Daily Show', 'The Daily Show with Jon Stewart',
-253543: 'All American Muslim', 'All-American Muslim',
-131791: 'Sci-Fi Science', 'Sci-Fi Science: Physics of the Impossible', 'Sci Fi Science Physics of the Impossible',
-253931: 'Rob',
-255045: 'The L.A. Complex', 'The LA Complex',
-79212: 'The Dog Whisperer', 'Dog Whisperer',
-248935: 'Touch (2012)', 'Touch',
-254798: 'Stella (2012)', 'Stella UK',
-247824: 'The Voice (US)', 'The Voice',
-129261: 'Spartacus', 'Spartacus Blood and Sand', 'Spartacus Vengeance',
-70870: 'The Real World Road Rules Challenge', 'The Challenge Cutthroat', 'The Challenge Battle Of The Exes', 'The Challenge Rivals', 'The Challenge Battle Of The Seasons 2', 'The Challenge Rivals II', 'The Challenge Rivals 2', 'The Challenge Free Agents', 'The Challenge Battle Of The Exes 2',
-80379: 'The Big Bang Theory', 'Big Bang Theory', 'TBBT',
-248789: 'Smash (2012)', 'Smash',
-79177: 'Life On Mars UK',
-248836: 'The River',
-165521: 'Girls Gone Wild The Search for the Hottest Girl in America',
-81391: 'Wie is de mol?', 'Wie is de mol', 'widm',
-72829: 'The Apprentice', 'The Apprentice US',
-198861: 'Film 2014 with Claudia Winkleman', 'Film 2013 with Claudia Winkleman', 'Film 2012 with Claudia Winkleman', 'Film 2011 with Claudia Winkleman',
-79836: 'Dragon\'s Den (UK)', 'Dragons Den UK',
-74946: 'C O P S',
-253485: 'The Syndicate 2012', 'The Syndicate',
-254112: 'Titanic 2012',
-248841: 'Scandal US',
-253323: 'Ninjago Masters Of Spinjitzu', 'LEGO NinjaGo: Masters of Spinjitzu', 'Ninjago Masters of Spinjitzu The Tournament of Elements',
-73246: '30 Minute Meals', '30 Minute Meals with Rachel Ray',
-256300: 'Richard Hammonds Crash Course', 'Richard Hammond\'s Crash Course',
-71788: 'Superman: The Animated Series', 'Superman TAS',
-88771: 'The Apprentice: You\'re Fired!', 'The Apprentice UK Youre Fired', 'The Apprentice UK Your Fired', 'The Apprentice Youre Fired',
-83462: 'Castle (2009)', 'Castle', 'Castle 2009',
-255693: 'Undercover Boss Canada', 'Undercover Boss CA',
-79905: 'Tim and Eric Awesome Show', 'Tim and Erics Awesome Show Great Job',
-192061: 'Young Justice', 'Young Justice Invasion',
-92091: 'MasterChef Australia', 'MasterChef AU',
-227161: 'Oprah Presents Master Class', 'Oprah\'s Master Class',
-79040: 'Britains Next Top Model', 'Britain and Irelands Next Top Model',
-248812: 'Dont Trust the Bitch in Apartment 23', 'Apartment 23',
-74897: 'Hells Kitchen US', 'Hells Kitchen',
-257645: 'Ultimate Spider-man', 'Ultimate Spiderman', 'Ultimate Spider man', 'Ultimate Spider-Man Web Warriors',
-260206: 'Gordon Behind Bars', 'Gordon Ramsay Behind Bars',
-77120: 'Aqua Teen Hunger Force', 'Aqua Unit Patrol Squad', 'Aqua Unit Patrol Squad 1', 'Aqua Something You Know Whatever',
-250525: 'Hamish And Andys Gap Year', 'Hamish And Andys Euro Gap Year',
-84133: 'Manhunters: Fugitive Task Force', 'Manhunters - Fugitive Task Force',
-205901: 'Transformers Prime', 'Transformers Prime Beast Hunters',
-248699: '24 Hours In A And E',
-260165: 'Chasing UFOs', 'National Geographic Chasing UFOs',
-253982: 'Common Law (2012)', 'Common Law',
-75032: 'Cathouse The Series', 'CatHouse',
-84312: 'Click (2000)', 'Click UK',
-81346: 'Underbelly', 'The Underbelly Files', 'Underbelly Files', 'Underbelly A Tale of Two Cities', 'Underbelly A Tale Of Two Cities UNCUT', 'Underbelly Razor', 'Underbelly The Golden Mile', 'Underbelly Badness', 'Underbelly Squizzy',
-76237: 'Big Brother (Australia)', 'Big Brother AU',
-82467: 'Eastbound Down', 'Eastbound and Down',
-82448: 'Project Runway Australia', 'Project Runway AU',
-72663: 'Accused', 'Accused UK',
-132591: '7 Days (2009)', '7 Days NZ',
-122401: 'Discovery Channel Cool Stuff and How it works', 'Cool Stuff and How it works',
-90621: 'Discovery Channel Sunrise Earth', 'Sunrise Earth',
-80226: 'Inspector George Gently', 'George Gently',
-261222: 'The Burn With Jeff Ross', 'Jeff Ross',
-72231: 'Real Time with Bill Maher', 'Real Time With Bill Maher Plus Overtime',
-75382: 'The Ultimate Fighter Live', 'The Ultimate Fighter Fridays', 'The Ultimate Fighter',
-83268: 'Star Wars The Clone Wars 2008', 'Star Wars The Clone Wars',
-261240: 'H+', 'H',
-262368: 'Vikings (2012)', 'Vikings UK',
-262353: 'Leaving', 'Leaving UK',
-261202: 'DreamWorks Dragons: Riders of Berk', 'Dragons Riders of Berk', 'DreamWorks Dragons Riders of Berk', 'Dragons Defenders of Berk',
-251807: 'Green Lantern: The Animated Series', 'Green Lantern TAS', 'Green Lantern The Animated Series',
-256204: '666 Park Avenue', 'Park Avenue',
-113901: 'The Super Hero Squad Show', 'The Super Hero Squad',
-122521: 'The Fresh Beat Band', 'Fresh Beat Band',
-262927: 'Ian Hislop\'s Stiff Upper Lip', 'Ian Hislops Stiff Upper Lip An Emotional History Of Britain',
-263002: 'Switch (2012)', 'Switch UK',
-220441: 'R L Stines The Haunting Hour The Series', 'R L Stines The Haunting Hour', 'R.L. Stine\'s The Haunting Hour The Series',
-78075: 'Beast Machines Transformers',
-254067: 'DUI', 'D U I', 'D.U.I',
-187351: 'This is England', 'This is England 86', 'This is England 88',
-73599: 'Dark Shadows (1966)', 'Dark Shadows The Beginning',
-76925: 'Dark Shadows The Revival Series 1991',
-262787: 'Homefront UK',
-79330: 'Jericho',
-73545: 'Battlestar Galactica',
-175101: 'Travel Channel Culture Shock',
-90751: 'Travel Channel Planet Food',
-199031: 'Click and Clack As the Wrench Turns',
-253682: 'Project Runway Allstars', 'Project Runway All-Stars',
-264141: 'Falcon',
-73587: 'The Twilight Zone 1959', 'The Twilight Zone 1960', 'The Twilight Zone 1961', 'The Twilight Zone 1962', 'The Twilight Zone 1963', 'The Twilight Zone 1964',
-80101: 'Harry And Paul',
-263506: 'Jamies 16 Minute Meals',
-252312: 'Jessie',
-73641: 'King of Queens',
-80665: 'The Next Iron Chef Redemption',
-120431: 'Food Factory',
-76107: 'Doctor Who Classic',
-265145: 'David Attenboroughs Africa',
-265373: 'David Attenboroughs Galapagos',
-248962: 'Transporter The Series',
-73178: 'Two Guys a Girl and a Pizza Place',
-264679: 'National Geographic UFO Europe Untold Stories',
-77780: 'G.I. Joe', 'GI Joe', 'G I Joe',
-210771: 'Cake Boss Next Great Baker',
-265252: 'MasterChef Australia The Professionals',
-247381: 'Superscrimpers',
-77398: 'X-Files',
-261690: 'The Americans',
-264450: 'Legit', 'Legit US',
-264535: 'Storage Wars NY',
-259106: 'Emily Owens M D', 'Emily Owens MD',
-76817: 'The Ponderosa',
-257550: 'Bellator FC',
-258773: 'Zero Hour US',
-262980: 'House of Cards 2013',
-79824: 'Naruto Shippuden',
-178141: 'My Ghost Story',
-74372: 'Blue Planet',
-257804: 'Too Cute!',
-88631: 'Krod Mandoon',
-259669: 'DaVincis Demons', 'Vincis Demons', 'Vinci\'s Demons',
-72449: 'Stargate SG1',
-264030: 'Avengers Assemble', 'Marvels Avengers Assemble',
-73893: 'Enterprise',
-250267: 'The Food Truck NZ',
-81580: 'Come Dine With Me UK',
-270528: 'Blood And Oil 2013',
-269538: 'Satisfaction CA',
-264776: 'Adam Hills In Gordon St Tonight',
-270307: 'Family SOS with Jo Frost',
-72549: 'Big Brother UK',
-81230: 'Celebrity Rehab with Dr Drew',
-259418: 'David Attenborough Kingdom Of Plants',
-230371: 'David Attenborough Madagascar',
-263387: 'Cedar Cove',
-76104: 'The Mole AU',
-265406: 'Out There 2013',
-267206: 'Low Winter Sun US',
-76703: 'Pokemon',
-76808: 'Whose Line is it Anyway US',
-271902: 'Legend of Shelby The Swamp Man',
-267543: 'Hulk and the Agents of S M A S H', 'Hulk and the Agents of SMASH',
-128521: 'Million Dollar Listing',
-72301: 'Penn and Teller Bullshit',
-259047: 'VGHS',
-73562: 'Beast Wars Transformers',
-271958: 'Arsenio Hall',
-273424: 'David Attenboroughs Rise Of Animals',
-271984: 'Wonderland AU',
-250544: 'Match of the Day Two',
-263365: 'Marvels Agents of S H I E L D', 'Marvel Agents Of SHIELD', 'Agents of S H I E L D',
-80018: 'Nick Cannon Presents Wild N Out',
-269589: 'Dads',
-269637: 'The Michael J Fox Show',
-269586: 'Brooklyn Nine Nine',
-80964: 'Yo Gabba Gabba',
-251334: 'Lawless UK',
-268591: 'The Tomorrow People US', 'The Tomorrow People', 'Tomorrow People',
-273383: 'The House That 100k Built',
-271936: 'Played CA',
-213211: 'Love Hate',
-72553: 'Mighty Morphin Power Rangers', 'Power Rangers Zeo', 'Power Rangers Turbo', 'Power Rangers in Space', 'Power Rangers Lost Galaxy', 'Power Rangers Ninja Storm', 'Power Rangers Operation Overdrive', 'Power Rangers Samurai', 'Power Rangers Super Samurai', 'Power Rangers Megaforce', 'Power Rangers Super Megaforce', 'Power Rangers Dino Charge',
-273986: 'Breathless UK',
-265393: 'The Legends of Chima',
-83115: 'The Worlds Strictest Parents UK',
-273002: 'I Couldnt Become a Hero So I Reluctantly Decided to Get a Job',
-269653: 'The Goldbergs',
-274099: 'At Midnight',
-271936: 'Played CA',
-223161: 'CBC Marketplace',
-95521: 'National Geographic Ancient Megastructures',
-80915: 'La Linea 1972',
-271728: 'Pete Holmes Show',
-139481: '18 Kids And Counting', '17 Kids And Counting',
-267709: 'Kesha My Crazy Beautiful Life',
-75166: 'The Biggest Loser US',
-275493: 'Backchat With Jack Whitehall And His Dad',
-275777: 'Wild Burma',
-256394: 'Lab Rats',
-80290: 'Jamie Oliver Jamies Kitchen',
-72306: 'The Venture Brothers',
-265467: 'Polar Bear Family and Me',
-267260: 'Intelligence US',
-275723: 'Panic Button US',
-269641: 'Chicago P D', 'Chicago PD',
-271632: 'Lucas Bros Moving Company',
-252019: 'The Bridge 2011',
-264085: 'The Bridge US',
-272391: 'Karl Pilkington The Moaning Of Life',
-277171: 'Tough Young Teachers UK',
-274129: 'Klondike 2014',
-268855: 'Turbo FAST',
-269584: 'Rake US',
-276526: 'Legend of Mick Dodge',
-276360: '19-2 CA',
-83430: 'National Geographic Banged Up Abroad',
-71462: 'Sharpes',
-276515: 'Curse of Oak Island',
-277568: 'Babylon',
-277528: 'Love Child AU',
-270261: 'Jimmy Fallon',
-78125: '22 Minutes',
-204371: 'AuctionHunters',
-270262: 'Seth Meyers',
-266388: 'David Attenboroughs Natural Curiosities',
-166251: 'Four Corners',
-260586: 'Cosmos A Space Time Odyssey',
-269650: 'Resurrection US',
-276312: 'From Dusk Til Dawn', 'From Dusk Till Dawn',
-276148: 'Review With Forrest MacNeil',
-273761: 'Master Chef Canada',
-269651: 'Mind Games',
-280446: 'The Tom and Jerry Show',
-202571: 'The Trip to Italy',
-260489: 'National Geographic Caught In The Act',
-279603: 'The Face AU',
-84489: 'Masterchef', 'MasterChef UK',
-260839: 'MasterChef Allstars AU',
-74281: 'Have I Got News for You Uncut',
-75748: 'The Culture Show Uncut',
-271241: 'Deal With It US',
-277169: 'Faking It 2014',
-280361: 'Prey UK',
-88321: 'Tabatha\'s Salon Takeover',
-273005: 'Ace of The Diamond',
-278976: 'The Comic Artist and His Assistants',
-78956: 'So You Think You Can Dance US',
-273616: 'Pokemon Origins',
-79389: 'Nightmares and Dreamscapes',
-83299: 'Magics Biggest Secrets Finally Revealed',
-275039: 'Sailor Moon Crystal',
-269783: 'Reckless US',
-267542: 'Naked and Marooned with Ed Stafford',
-82060: 'Who Do You Think You Are AU',
-271421: 'Clarence US',
-280937: 'Satisfaction US',
-280939: 'Rush US',
-279779: 'Sensitive Skin CA',
-269783: 'Reckless US',
-281467: 'Matador US',
-283630: 'Doraemon US',
-284076: 'Thats Incredible 2014',
-283196: 'Married at First Sight US',
-283073: 'Fat N Furious-Rolling Thunder',
-138761: 'Arn The Knight Templar',
-281776: 'Youre the Worst',
-281664: 'Partners 2014',
-259946: 'Location Location Location AU',
-262377: 'Sarah Beenys Double Your House for Half the Money',
-282786: 'Utopia AU',
-277580: '30 For 30 Soccer Stories',
-280027: 'Off the Bat from the MLB Fan Cave',
-280339: 'Food Fighters US',
-244061: 'Steins Gate',
-284881: 'My Kitchen Rules New Zealand',
-283291: 'Beyonce X10 The Mrs Carter Show World Tour',
-282654: 'Utopia US',
-284458: 'The Chair',
-270849: 'I Didnt Do It',
-116811: 'Dragons Den CA',
-285507: 'The Code AU',
-281535: 'Forever US',
-281511: 'Blackish',
-72150: 'BBC Later With Jools Holland',
-281624: 'Manhattan Love Story US',
-280949: 'Brandi and Jarrod-Married to the Job',
-271525: 'WWE Total Divas',
-82186: 'The Comedy Central Roast of', 'Comedy Central Roast', 'The Comedy Central Roast',
-263160: 'Mind of a Chef',
-280736: 'The Game UK',
-248596: 'Atlantis',
-261999: 'Border Security Canadas Front Line', 'Border Security Canada',
-281709: 'The Librarians US',
-128051: '30 for 30',
-264347: 'Ghost Inside My Child',
-287236: 'American Supernatural',
-290038: 'Troy-Street Magic',
-290865: 'Salem Rogers Model Of The Year 1998',
-286373: 'The Nightly Show',
-270948: 'Morgan Spurlock Inside Man',
-74608: 'Top Gear UK',
-292044: 'Critical UK',
-281297: 'BikerLive',
-292782: 'Nurse UK',
-288963: 'The Royals',
-292421: 'James Corden',
-276498: 'Raised By Wolves UK',
-290176: 'The Comedians US',
-272135: 'TURN Washingtons Spies',
-294846: '8MMM',
-294973: 'Home Fires UK',
-295438: 'Shark UK',
-148581: 'Strike Back Legacy',
diff --git a/lib/scene_exceptions/tvrage/.gitignore b/lib/scene_exceptions/tvrage/.gitignore
deleted file mode 100644
index 85e7c1dfcb7fbb33f932c81024018cd8c10519da..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/tvrage/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/.idea/
diff --git a/lib/scene_exceptions/tvrage/exceptions.txt b/lib/scene_exceptions/tvrage/exceptions.txt
deleted file mode 100644
index b395618da80f3429b82c91c68be866b92f953a4a..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/tvrage/exceptions.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-23281: 'Pawn Stars',
-24749: 'UFC',
-31068: 'Wikileaks The Secret Life Of A Superpower',
-46444: 'National Geographic-Hitler the Junkie', 'Hitler the Junkie',
diff --git a/lib/scene_exceptions/tvrage/readme.md b/lib/scene_exceptions/tvrage/readme.md
deleted file mode 100644
index 50e52a206911cc1a370b45dc32bc83dc3d9da9c7..0000000000000000000000000000000000000000
--- a/lib/scene_exceptions/tvrage/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## SickRage scene exceptions list for TVRage ##
-=====
-
-The exceptions.txt file contains the Scene exceptions for the TVRage indexer.
-
-Lines are build-up out of 2 parts. :
-
-```23281: 'Pawn Stars', ```
-
-First part is the show number. This number can be found at the end of the TVRage link in the show page. 
-(For example http://dereferer.org/?http://tvrage.com/shows/id-23281)
-Second part is the alternative (scene) name that up-loaders use for there torrents/NZBs files.
-
-If up-loaders are using multiple names for the same show, than you can add more scene names for one show. : 
-46444: 'National Geographic-Hitler the Junkie', 'Hitler the Junkie',
-
-** Before submitting make sure the show number is for TVRage not TVDB.! **
\ No newline at end of file
diff --git a/lib/simplejson/decoder.py b/lib/simplejson/decoder.py
index dd57ddeefb690469a34c4c73bfb8790556a8145c..b769ea486ca932cd83b1689ef8e055ae2658aa72 100644
--- a/lib/simplejson/decoder.py
+++ b/lib/simplejson/decoder.py
@@ -4,9 +4,9 @@ import re
 import sys
 import struct
 
-from lib.simplejson.scanner import make_scanner
+from simplejson.scanner import make_scanner
 try:
-    from lib.simplejson._speedups import scanstring as c_scanstring
+    from simplejson._speedups import scanstring as c_scanstring
 except ImportError:
     c_scanstring = None
 
diff --git a/lib/simplejson/encoder.py b/lib/simplejson/encoder.py
index 15c35f7a1b9adfed1d9518dcd2038007033b0e9f..cf58290366b4e33351a73123c391eabc8ebc45fa 100644
--- a/lib/simplejson/encoder.py
+++ b/lib/simplejson/encoder.py
@@ -3,11 +3,11 @@
 import re
 
 try:
-    from lib.simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
+    from simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
 except ImportError:
     c_encode_basestring_ascii = None
 try:
-    from lib.simplejson._speedups import make_encoder as c_make_encoder
+    from simplejson._speedups import make_encoder as c_make_encoder
 except ImportError:
     c_make_encoder = None
 
diff --git a/lib/simplejson/scanner.py b/lib/simplejson/scanner.py
index 866edc045716ad3ba10dab94789e82f67479de56..adbc6ec979c9f05d54e1556a6fd007499a953ee6 100644
--- a/lib/simplejson/scanner.py
+++ b/lib/simplejson/scanner.py
@@ -2,7 +2,7 @@
 """
 import re
 try:
-    from lib.simplejson._speedups import make_scanner as c_make_scanner
+    from simplejson._speedups import make_scanner as c_make_scanner
 except ImportError:
     c_make_scanner = None
 
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index 7ae10ac9f2c0db550b05e18f572b2b2a68ea3606..de06dd88053334f96ca93f01ab5a89c4bf00cc3d 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -35,8 +35,8 @@ try:
 except ImportError:
     gzip = None
 
-from lib.dateutil.parser import parse
-from lib.cachecontrol import CacheControl, caches
+from dateutil.parser import parse
+from cachecontrol import CacheControl, caches
 
 from tvdb_ui import BaseUI, ConsoleUI
 from tvdb_exceptions import (tvdb_error, tvdb_userabort, tvdb_shownotfound, tvdb_showincomplete,
diff --git a/lib/tvrage_api/tvrage_api.py b/lib/tvrage_api/tvrage_api.py
index 98fe034bfdee52afe84d784742448eaed718de5e..89923d11705cb3c99ec9978ca56e0b01a5c14f4c 100644
--- a/lib/tvrage_api/tvrage_api.py
+++ b/lib/tvrage_api/tvrage_api.py
@@ -32,8 +32,8 @@ try:
 except ImportError:
     import xml.etree.ElementTree as ElementTree
 
-from lib.dateutil.parser import parse
-from lib.cachecontrol import CacheControl, caches
+from dateutil.parser import parse
+from cachecontrol import CacheControl, caches
 
 from tvrage_ui import BaseUI
 from tvrage_exceptions import (tvrage_error, tvrage_userabort, tvrage_shownotfound, tvrage_showincomplete,
diff --git a/news.md b/news.md
index 380c546c0ea811eb7cb4b07cffd23ff6a45b9c32..31c34ad8ba777ceb636634344273270385510e6e 100644
--- a/news.md
+++ b/news.md
@@ -1,23 +1,28 @@
 ## News from SickRage developers
 
+<br/>
 
-**Default Episode Status**: 
-We recently fixed this feature so you need  to:
+####2015-07-17####
 
-- Edit your shows via 'Mass update' and set the default status to WANTED instead of SKIPPED (if you want unaired episodes to be downloaded)
-- Set all new episodes that were marked SKIPPED before that to WANTED. You can check all of them at "Episode Status Management" selecting "SKIPPED" in "Manage episodes with status". Be carefull with this! Make sure you have a backup of your database. Be advised!
+- Added new sub-menu called "Changelog". You can check what has changed in SickRage in each release
 
-Now when you will add a **NEW** show you will be asked for two status settings: already aired episodes and unaired episodes.
+<br/>
 
-<img src="https://cloud.githubusercontent.com/assets/2620870/8724471/3cb943f4-2ba6-11e5-99cd-d645fb9e824f.png" width="300">
+####2015-07-16####
 
++ **Default Episode Status**: We recently fixed this feature so you need  to:
 
+    - Edit your shows via 'Mass update' and set the default status to WANTED instead of SKIPPED (if you want unaired episodes to be downloaded)
+    - Set all new episodes that were marked SKIPPED before that to WANTED. You can check all of them at "Episode Status Management" selecting "SKIPPED" in "Manage episodes with status". Be carefull with this! Make sure you have a backup of your database. Be advised!
+    - Now when you will add a **NEW** show you will be asked for two status settings: already aired episodes and unaired episodes.
 
+<span style="margin-left:100px">
+<img src="https://cloud.githubusercontent.com/assets/2620870/8724471/3cb943f4-2ba6-11e5-99cd-d645fb9e824f.png" width="300">
+</span>
 
-**Providers**
-- Sick beard index and Womble provider are blocking SR application so avoid use them
++ **Providers:** Sick beard index and Womble provider are blocking SR application so avoid use them
 
-**Develop branch**
-- We are upgrading Subliminal module and this may and will break your installation.
-- Please avoid using the develop branch until we fully tested everything unless you know what you are doing
++ **Develop branch**
 
+    - We are upgrading Subliminal module and this may and will break your installation
+    - Please avoid using the develop branch until we fully tested everything unless you know what you are doing
diff --git a/readme.md b/readme.md
index 35445a570020fb0177da73bbe370742fdafd2f8f..932b67dfde74db3e106da2251a28da7085e76839 100644
--- a/readme.md
+++ b/readme.md
@@ -1,32 +1,37 @@
 SickRage
 =====
-Video File Manager for TV Shows, It watches for new episodes of your favorite shows and when they are posted it does its magic.
+Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.
 
 ## Branch Build Status
 [![Build Status](https://travis-ci.org/SiCKRAGETV/SickRage.svg?branch=develop)](https://travis-ci.org/SiCKRAGETV/SickRage)
 
 ## Features
- - XBMC library updates, poster/fanart downloads, and NFO/TBN generation
- - configurable episode renaming
- - available for any platform, uses simple HTTP interface
- - can notify XBMC, Growl, or Twitter when new episodes are available
- - specials and double episode support
+ - Kodi/XBMC library updates, poster/banner/fanart downloads, and NFO/TBN generation
+ - Configurable automatic episode renaming, sorting, and other processing
+ - Easily see what episodes you're missing, are airing soon, and more
+ - Automatic torrent/nzb searching, downloading, and processing at the qualities you want
+ - Largest list of supported torrent and nzb providers, both public and private
+ - Can notify Kodi, XBMC, Growl, Trakt, Twitter, and more when new episodes are available
+ - Searches TheTVDB.com, TVRage.com, and AniDB.net for shows, seasons, episodes, and metadata
+ - Episode status management allows for mass failing seasons/episodes to force retrying
+ - DVD Order numbering for returning the results in DVD order instead of Air-By-Date order
+ - Allows you to choose which indexer to have SickRage search its show info from when importing
+ - SickRage can easily tell if info for an existing show comes from TheTVDB or TVRage when importing
  - Automatic XEM Scene Numbering/Naming for seasons/episodes
- - Episode Status Manager now allows for mass failing seasons/episodes to force retrying.
- - DVD Order numbering for returning the results in DVD order instead of Air-By-Date order.
- - Improved Failed handling code for shows.
+ - Available for any platform, uses a simple HTTP interface
+ - Specials and multi-episode torrent/nzb support
+ - Automatic subtitles matching and downloading
+ - Improved failed download handling
  - DupeKey/DupeScore for NZBGet 12+
- - Searches both TheTVDB.com, TVRage.com and AniDB.net for shows, seasons, episodes
- - Importing of existing video files now allows you to choose which indexer you wish to have SickBeard search its show info from.
- - Your tvshow.nfo files are now tagged with a indexer key so that SickBeard can easily tell if the shows info comes from TheTVDB or TVRage.
- - Sports shows are now able to be searched for..
+ - Real SSL certificate validation
+ - Supports Anime shows
 
 ## Screenshots
 -[Desktop (Full-HD)](http://imgur.com/a/4fpBk)<br>
 -[Mobile](http://imgur.com/a/WPyG6)
 
 ## Dependencies
- To run SickRage from source you will need Python 2.6+, Cheetah 2.1.0+, and PyOpenSSL 0.13.1 or lower.
+ To run SickRage from source you will need Python 2.6+, Cheetah 2.1.0+, and PyOpenSSL
 
 ## Forums
  Any questions or setup info your looking for can be found at out forums https://www.sickrage.tv
@@ -43,4 +48,5 @@ https://github.com/SiCKRAGETV/SickRage/wiki/Frequently-Asked-Questions
 https://github.com/SiCKRAGETV/SickRage/wiki
 
 ## Important
-Please before using this with your existing database (sickbeard.db) please make a backup copy of it and delete any other database files such as cache.db and failed.db if present, we HIGHLY recommend starting out with no database files at all to make this a fresh start but the choice is at your own risk
+Before using this with your existing database (sickbeard.db) please make a backup copy of it and delete any other database files such as cache.db and failed.db if present<br/>
+We HIGHLY recommend starting out with no database files at all to make this a fresh start but the choice is at your own risk
diff --git a/setup.py b/setup.py
index 5a694247417c3f73bdaf2953a4d9e02365a400d1..67058ae9c1d64220ab86798969b8c9abada95a81 100644
--- a/setup.py
+++ b/setup.py
@@ -11,9 +11,9 @@ import googlecode_upload
 from distutils.core import setup
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 try:
     import py2exe
diff --git a/sickbeard/__init__.py b/sickbeard/__init__.py
index 2a8b868f394bcb340607f8724c8a9cda6b245070..99b38d2d29f978175b10443e0057f798f73d8df3 100644
--- a/sickbeard/__init__.py
+++ b/sickbeard/__init__.py
@@ -25,9 +25,9 @@ import os
 import re
 import os.path
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 from threading import Lock
 import sys
@@ -55,7 +55,7 @@ from sickbeard.common import SD, SKIPPED, WANTED, NAMING_REPEAT
 from sickbeard.databases import mainDB, cache_db, failed_db
 from sickbeard.helpers import ex
 
-from lib.configobj import ConfigObj
+from configobj import ConfigObj
 
 import requests
 requests.packages.urllib3.disable_warnings()
diff --git a/sickbeard/browser.py b/sickbeard/browser.py
index cec457eff2e9d422f971b814e2eb798445e0851c..0df6491aaf98e342dcd70c9f0e5f913fddf452f1 100644
--- a/sickbeard/browser.py
+++ b/sickbeard/browser.py
@@ -27,7 +27,7 @@ from sickbeard import logger
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 # this is for the drive letter code, it only works on windows
 if os.name == 'nt':
@@ -103,4 +103,4 @@ def foldersAtPath(path, includeParent=False, includeFiles=False):
         entries.append({'name': "..", 'path': parentPath})
     entries.extend(fileList)
 
-    return entries
\ No newline at end of file
+    return entries
diff --git a/sickbeard/classes.py b/sickbeard/classes.py
index ec8fce996f5191dcae3f9ae1936893d66a37dcf8..f46bcc9e17aa7f0a5653e37331c55b09940f35f9 100644
--- a/sickbeard/classes.py
+++ b/sickbeard/classes.py
@@ -23,7 +23,7 @@ import sickbeard
 
 import urllib
 import datetime
-from lib.dateutil import parser
+from dateutil import parser
 
 from common import USER_AGENT, Quality
 
@@ -278,4 +278,4 @@ class UIError():
     def __init__(self, message):
         self.title = sys.exc_info()[-2] or message
         self.message = message
-        self.time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
\ No newline at end of file
+        self.time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
diff --git a/sickbeard/clients/generic.py b/sickbeard/clients/generic.py
index 6e2bf18e716b0e2832edbad8eeaefce24df9a905..a0a07132f674a2e82212ace044b767b9f535b70b 100644
--- a/sickbeard/clients/generic.py
+++ b/sickbeard/clients/generic.py
@@ -7,10 +7,10 @@ import sickbeard
 from sickbeard import logger
 from sickbeard.exceptions import ex
 from sickbeard.clients import http_error_code
-from lib.bencode import bencode, bdecode
+from bencode import bencode, bdecode
 import requests
 from requests import exceptions
-from lib.bencode.BTL import BTFailure
+from bencode.BTL import BTFailure
 
 class GenericClient(object):
     def __init__(self, name, host=None, username=None, password=None):
diff --git a/sickbeard/clients/rtorrent.py b/sickbeard/clients/rtorrent.py
index d0e2a9fa558f50aab01977e2c653309484f90e8f..962b48ff2f77ec4fed98298c6e7ed68c583c60cd 100644
--- a/sickbeard/clients/rtorrent.py
+++ b/sickbeard/clients/rtorrent.py
@@ -22,8 +22,8 @@ import traceback
 import sickbeard
 from sickbeard import logger
 from sickbeard.clients.generic import GenericClient
-from lib.rtorrent import RTorrent
-from lib.rtorrent.err import MethodError
+from rtorrent import RTorrent
+from rtorrent.err import MethodError
 
 
 class rTorrentAPI(GenericClient):
diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py
index d8349d53261df2e1f44549f4c816f562fcd86ce9..276aea5f8b8f796ffbf4627b1eb170f55bb5c02e 100644
--- a/sickbeard/helpers.py
+++ b/sickbeard/helpers.py
@@ -63,9 +63,9 @@ from cachecontrol import CacheControl, caches
 from itertools import izip, cycle
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 urllib._urlopener = classes.SickBeardURLopener()
 
@@ -777,7 +777,7 @@ def create_https_certificates(ssl_cert, ssl_key):
     """
     try:
         from OpenSSL import crypto  # @UnresolvedImport
-        from lib.certgen import createKeyPair, createCertRequest, createCertificate, TYPE_RSA, \
+        from certgen import createKeyPair, createCertRequest, createCertificate, TYPE_RSA, \
             serial  # @UnresolvedImport
     except Exception, e:
         logger.log(u"pyopenssl module missing, please install for https access", logger.WARNING)
@@ -1297,7 +1297,6 @@ def _setUpSession(session, headers):
     """
     Returns a session initialized with default cache and parameter settings
     """
-
     # request session
     cache_dir = sickbeard.CACHE_DIR or _getTempDir()
     session = CacheControl(sess=session, cache=caches.FileCache(os.path.join(cache_dir, 'sessions')), cache_etags=False)
diff --git a/sickbeard/image_cache.py b/sickbeard/image_cache.py
index bf664b3fc2ab3951d2ecb652835ccf7c3ab6ee33..bade105c4fd97dfefd11ef6a241dc1a8a15aadbc 100644
--- a/sickbeard/image_cache.py
+++ b/sickbeard/image_cache.py
@@ -25,8 +25,8 @@ from sickbeard import encodingKludge as ek
 
 from sickbeard.metadata.generic import GenericMetadata
 
-from lib.hachoir_parser import createParser
-from lib.hachoir_metadata import extractMetadata
+from hachoir_parser import createParser
+from hachoir_metadata import extractMetadata
 
 
 class ImageCache:
diff --git a/sickbeard/indexers/indexer_config.py b/sickbeard/indexers/indexer_config.py
index 71e4ddc86371275ab303e1f8979d923e3d1b3a2b..f19cd68cd004cf8cab602667614ad3e93af7383b 100644
--- a/sickbeard/indexers/indexer_config.py
+++ b/sickbeard/indexers/indexer_config.py
@@ -1,6 +1,5 @@
-from lib.tvdb_api.tvdb_api import Tvdb
-from lib.tvrage_api.tvrage_api import TVRage
-from scene_exceptions import TVDB_EXCEPTIONS, TVRAGE_EXCEPTIONS
+from tvdb_api.tvdb_api import Tvdb
+from tvrage_api.tvrage_api import TVRage
 import requests
 
 INDEXER_TVDB = 1
@@ -44,7 +43,7 @@ indexerConfig[INDEXER_TVRAGE] = {
 indexerConfig[INDEXER_TVDB]['trakt_id'] = 'tvdb_id'
 indexerConfig[INDEXER_TVDB]['xem_origin'] = 'tvdb'
 indexerConfig[INDEXER_TVDB]['icon'] = 'thetvdb16.png'
-indexerConfig[INDEXER_TVDB]['scene_loc'] = TVDB_EXCEPTIONS
+indexerConfig[INDEXER_TVDB]['scene_loc'] = 'http://sickragetv.github.io/sb_tvdb_scene_exceptions/exceptions.txt'
 indexerConfig[INDEXER_TVDB]['show_url'] = 'http://thetvdb.com/?tab=series&id='
 indexerConfig[INDEXER_TVDB]['base_url'] = 'http://thetvdb.com/api/%(apikey)s/series/' % indexerConfig[INDEXER_TVDB]['api_params']
 
@@ -52,6 +51,6 @@ indexerConfig[INDEXER_TVDB]['base_url'] = 'http://thetvdb.com/api/%(apikey)s/ser
 indexerConfig[INDEXER_TVRAGE]['trakt_id'] = 'tvrage_id'
 indexerConfig[INDEXER_TVRAGE]['xem_origin'] = 'rage'
 indexerConfig[INDEXER_TVRAGE]['icon'] = 'tvrage16.png'
-indexerConfig[INDEXER_TVRAGE]['scene_loc'] = TVRAGE_EXCEPTIONS
+indexerConfig[INDEXER_TVRAGE]['scene_loc'] = 'http://sickragetv.github.io/sr_tvrage_scene_exceptions/exceptions.txt'
 indexerConfig[INDEXER_TVRAGE]['show_url'] = 'http://tvrage.com/shows/id-'
 indexerConfig[INDEXER_TVRAGE]['base_url'] = 'http://tvrage.com/showinfo.php?key=%(apikey)s&sid=' % indexerConfig[INDEXER_TVRAGE]['api_params']
diff --git a/sickbeard/indexers/indexer_exceptions.py b/sickbeard/indexers/indexer_exceptions.py
index cf378592df54933d4187b1fbcc84d9bee1088aae..1ba41a722f248c410e5f6233bc2418839b3c3bee 100644
--- a/sickbeard/indexers/indexer_exceptions.py
+++ b/sickbeard/indexers/indexer_exceptions.py
@@ -10,11 +10,11 @@
 __author__ = "echel0n"
 __version__ = "1.0"
 
-from lib.tvrage_api.tvrage_exceptions import \
+from tvrage_api.tvrage_exceptions import \
     tvrage_exception, tvrage_attributenotfound, tvrage_episodenotfound, tvrage_error, \
     tvrage_seasonnotfound, tvrage_shownotfound, tvrage_showincomplete, tvrage_userabort
 
-from lib.tvdb_api.tvdb_exceptions import \
+from tvdb_api.tvdb_exceptions import \
     tvdb_exception, tvdb_attributenotfound, tvdb_episodenotfound, tvdb_error, \
     tvdb_seasonnotfound, tvdb_shownotfound, tvdb_showincomplete, tvdb_userabort
 
@@ -36,4 +36,4 @@ indexer_attributenotfound = tvdb_attributenotfound, tvrage_attributenotfound
 indexer_episodenotfound = tvdb_episodenotfound, tvrage_episodenotfound
 indexer_seasonnotfound = tvdb_seasonnotfound, tvrage_seasonnotfound
 indexer_shownotfound = tvdb_shownotfound, tvrage_shownotfound
-indexer_showincomplete = tvdb_showincomplete, tvrage_showincomplete
\ No newline at end of file
+indexer_showincomplete = tvdb_showincomplete, tvrage_showincomplete
diff --git a/sickbeard/metadata/generic.py b/sickbeard/metadata/generic.py
index ef31bb3abb870393ea1ffdfff8692609e590701d..cf792484dcb51009080fd07c63858906c1e843ad 100644
--- a/sickbeard/metadata/generic.py
+++ b/sickbeard/metadata/generic.py
@@ -33,7 +33,7 @@ from sickbeard import encodingKludge as ek
 from sickbeard.exceptions import ex
 from sickbeard.show_name_helpers import allPossibleShowNames
 
-from lib.tmdb_api.tmdb_api import TMDB
+from tmdb_api.tmdb_api import TMDB
 
 import fanart
 from fanart.core import Request as fanartRequest
diff --git a/sickbeard/name_cache.py b/sickbeard/name_cache.py
index a349a8da6589ffc4a5521f634501c77b03e144d8..8f00b35b077a3c0479120d02733129dd594161af 100644
--- a/sickbeard/name_cache.py
+++ b/sickbeard/name_cache.py
@@ -91,7 +91,7 @@ def buildNameCache(show=None):
         for show in sickbeard.showList:
             buildNameCache(show)
     else:
-        logger.log(u"Building internal name cache for " + show.name, logger.INFO)
+        logger.log(u"Building internal name cache for " + show.name, logger.DEBUG)
         clearCache(show.indexerid)
         for curSeason in [-1] + sickbeard.scene_exceptions.get_scene_seasons(show.indexerid):
             for name in list(set(sickbeard.scene_exceptions.get_scene_exceptions(show.indexerid, season=curSeason) + [show.name])):
diff --git a/sickbeard/network_timezones.py b/sickbeard/network_timezones.py
index b01d9a3a072bdb1a6ab3f4c6e7c3eafba81cea68..e62139089a9ae3ee43e2148b84ce6c78683e01ef 100644
--- a/sickbeard/network_timezones.py
+++ b/sickbeard/network_timezones.py
@@ -16,8 +16,9 @@
 # You should have received a copy of the GNU General Public License
 # along with SickRage.  If not, see <http://www.gnu.org/licenses/>.
 
-from lib.dateutil import tz
-import lib.dateutil.zoneinfo
+from dateutil import tz
+from dateutil import zoneinfo
+
 from sickbeard import db
 from sickbeard import helpers
 from sickbeard import logger
@@ -27,6 +28,7 @@ from os.path import basename, join, isfile
 import os
 import re
 import datetime
+import requests
 
 # regex to parse time (12/24 hour format)
 time_regex = re.compile(r'(\d{1,2})(([:.](\d{2,2}))? ?([PA][. ]? ?M)|[:.](\d{2,2}))\b', flags=re.IGNORECASE)
@@ -48,15 +50,13 @@ def _remove_zoneinfo_failed(filename):
 
 # helper to remove old unneeded zoneinfo files
 def _remove_old_zoneinfo():
-    if lib.dateutil.zoneinfo.ZONEINFOFILE is not None:
-        cur_zoneinfo = ek.ek(basename, lib.dateutil.zoneinfo.ZONEINFOFILE)
+    if zoneinfo.ZONEINFOFILE is not None:
+        cur_zoneinfo = ek.ek(basename, zoneinfo.ZONEINFOFILE)
     else:
         return
 
-    cur_file = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, lib.dateutil.zoneinfo.__file__), cur_zoneinfo))
-
-    for (path, dirs, files) in ek.ek(os.walk,
-                                     helpers.real_path(ek.ek(os.path.dirname, lib.dateutil.zoneinfo.__file__))):
+    cur_file = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, zoneinfo.__file__), cur_zoneinfo))
+    for (path, dirs, files) in ek.ek(os.walk, helpers.real_path(ek.ek(os.path.dirname, zoneinfo.__file__))):
         for filename in files:
             if filename.endswith('.tar.gz'):
                 file_w_path = ek.ek(join, path, filename)
@@ -65,58 +65,53 @@ def _remove_old_zoneinfo():
                         ek.ek(os.remove, file_w_path)
                         logger.log(u'Delete unneeded old zoneinfo File: %s' % file_w_path)
                     except:
-                        logger.log(u'Unable to delete: %s' % file_w_path, logger.ERROR)
+                        logger.log(u'Unable to delete: %s' % file_w_path, logger.WARNING)
 
 
 # update the dateutil zoneinfo
 def _update_zoneinfo():
     global sb_timezone
     sb_timezone = tz.tzlocal()
-
-    # TODO `git subtree pull` commands on updates
-
-    loc_zv = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, __file__), u'../lib/network_timezones/zoneinfo.txt'))
-
-    # Read version file
+    url_zv = 'http://sickragetv.github.io/sb_network_timezones/zoneinfo.txt'
     try:
-        with open(loc_zv, 'r') as file:
-            data = file.read()
-        if not data:
+        url_data = helpers.getURL(url_zv, session=requests.Session())
+        if not url_data:
             raise
 
         # Filename of existing zoneinfo
-        if lib.dateutil.zoneinfo.ZONEINFOFILE is not None:
-            cur_zoneinfo = ek.ek(basename, lib.dateutil.zoneinfo.ZONEINFOFILE)
+        if zoneinfo.ZONEINFOFILE is not None:
+            cur_zoneinfo = ek.ek(basename, zoneinfo.ZONEINFOFILE)
         else:
             cur_zoneinfo = None
 
         # Filename and hash of new zoneinfo
-        (new_zoneinfo, zoneinfo_md5) = data.decode('utf-8').strip().rsplit(u' ')
+        (new_zoneinfo, zoneinfo_md5) = url_data.strip().rsplit(u' ')
     except Exception as e:
-        logger.log(u'Crazy problem with zoneinfo: %s' % ex(e), logger.ERROR)
+        logger.log(u'Loading zoneinfo.txt failed, this can happen from time to time. Unable to get URL: %s' %
+                url_zv, logger.WARNING)
         return
 
     if (cur_zoneinfo is not None) and (new_zoneinfo == cur_zoneinfo):
         return
 
     # now load the new zoneinfo
-    loc_tar = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, __file__), u'../lib/network_timezones/%s' % new_zoneinfo))
+    url_tar = u'http://sickragetv.github.io/sb_network_timezones/%s' % new_zoneinfo
 
-    zonefile = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, lib.dateutil.zoneinfo.__file__), new_zoneinfo))
+    zonefile = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, zoneinfo.__file__), new_zoneinfo))
     zonefile_tmp = re.sub(r'\.tar\.gz$', '.tmp', zonefile)
 
     if ek.ek(os.path.exists, zonefile_tmp):
         try:
             ek.ek(os.remove, zonefile_tmp)
         except:
-            logger.log(u'Unable to delete: %s' % zonefile_tmp, logger.ERROR)
+            logger.log(u'Unable to delete: %s' % zonefile_tmp, logger.WARNING)
             return
 
-    if not helpers.copyFile(loc_tar, zonefile_tmp):
+    if not helpers.download_file(url_tar, zonefile_tmp, session=requests.Session()):
         return
 
     if not ek.ek(os.path.exists, zonefile_tmp):
-        logger.log(u'Download of %s failed.' % zonefile_tmp, logger.ERROR)
+        logger.log(u'Download of %s failed.' % zonefile_tmp, logger.WARNING)
         return
 
     new_hash = str(helpers.md5_for_file(zonefile_tmp))
@@ -127,20 +122,20 @@ def _update_zoneinfo():
             # remove the old zoneinfo file
             if cur_zoneinfo is not None:
                 old_file = helpers.real_path(
-                    ek.ek(join, ek.ek(os.path.dirname, lib.dateutil.zoneinfo.__file__), cur_zoneinfo))
+                    ek.ek(join, ek.ek(os.path.dirname, zoneinfo.__file__), cur_zoneinfo))
                 if ek.ek(os.path.exists, old_file):
                     ek.ek(os.remove, old_file)
             # rename downloaded file
             ek.ek(os.rename, zonefile_tmp, zonefile)
             # load the new zoneinfo
-            reload(lib.dateutil.zoneinfo)
+            reload(zoneinfo)
             sb_timezone = tz.tzlocal()
         except:
             _remove_zoneinfo_failed(zonefile_tmp)
             return
     else:
         _remove_zoneinfo_failed(zonefile_tmp)
-        logger.log(u'MD5 hash does not match: %s File: %s' % (zoneinfo_md5.upper(), new_hash.upper()), logger.ERROR)
+        logger.log(u'MD5 hash does not match: %s File: %s' % (zoneinfo_md5.upper(), new_hash.upper()), logger.WARNING)
         return
 
 
@@ -149,19 +144,16 @@ def update_network_dict():
     _remove_old_zoneinfo()
     _update_zoneinfo()
 
-    loc = helpers.real_path(ek.ek(join, ek.ek(os.path.dirname, __file__), u'../lib/network_timezones/network_timezones.txt'))
-
-    with open(loc, 'r') as file:
-        data = file.read()
-
-    if data is None:
-        logger.log(u'Updating network timezones failed', logger.ERROR)
+    url = 'http://sickragetv.github.io/sb_network_timezones/network_timezones.txt'
+    url_data = helpers.getURL(url, session=requests.Session())
+    if url_data is None:
+        logger.log(u'Updating network timezones failed, this can happen from time to time. URL: %s' % url, logger.WARNING)
         load_network_dict()
         return
 
     d = {}
     try:
-        for line in data.splitlines():
+        for line in url_data.splitlines():
             (key, val) = line.decode('utf-8').strip().rsplit(u':', 1)
             if key is None or val is None:
                 continue
@@ -214,7 +206,7 @@ def get_network_timezone(network, network_dict):
         return sb_timezone
 
     try:
-        if lib.dateutil.zoneinfo.ZONEINFOFILE is not None:
+        if zoneinfo.ZONEINFOFILE is not None:
             try:
                 n_t = tz.gettz(network_dict[network])
             except:
diff --git a/sickbeard/notifiers/growl.py b/sickbeard/notifiers/growl.py
index a72d8cb329378253dd125114e2b3ba106d48d9fe..ad9d22c84ec3b033abaf94b3eee26c2742ccfc6a 100644
--- a/sickbeard/notifiers/growl.py
+++ b/sickbeard/notifiers/growl.py
@@ -21,8 +21,7 @@ import socket
 import sickbeard
 from sickbeard import logger, common
 from sickbeard.exceptions import ex
-from lib.growl import gntp
-
+from libgrowl import gntp
 
 class GrowlNotifier:
     sr_logo_url = 'https://raw.githubusercontent.com/SiCKRAGETV/SickRage/master/gui/slick/images/sickrage-shark-mascot.png'
diff --git a/sickbeard/notifiers/kodi.py b/sickbeard/notifiers/kodi.py
index e4ec1736d507be1e9b1bef749480d05a56951e41..1da53717d0754498096f10945745291fa14caca5 100644
--- a/sickbeard/notifiers/kodi.py
+++ b/sickbeard/notifiers/kodi.py
@@ -38,8 +38,7 @@ except ImportError:
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
-
+    import simplejson as json
 
 class KODINotifier:
     sr_logo_url = 'https://raw.githubusercontent.com/SiCKRAGETV/SickRage/master/gui/slick/images/sickrage-shark-mascot.png'
diff --git a/sickbeard/notifiers/nma.py b/sickbeard/notifiers/nma.py
index b097f24e7b4a9c9b6768d45fd9a10ebc8542a41d..bc4dd37fb0d2d09c44185da6340abd9f633de2cd 100644
--- a/sickbeard/notifiers/nma.py
+++ b/sickbeard/notifiers/nma.py
@@ -1,7 +1,7 @@
 import sickbeard
 
 from sickbeard import logger, common
-from lib.pynma import pynma
+from pynma import pynma
 
 
 class NMA_Notifier:
diff --git a/sickbeard/notifiers/trakt.py b/sickbeard/notifiers/trakt.py
index c276b657d97726be7943eba573d212e68260cacc..0f18a1484594b15ba0426f18986ba2198246e784 100644
--- a/sickbeard/notifiers/trakt.py
+++ b/sickbeard/notifiers/trakt.py
@@ -19,8 +19,9 @@
 import sickbeard
 from sickbeard import logger
 from sickbeard.exceptions import ex
-from lib.trakt import TraktAPI
-from lib.trakt.exceptions import traktException, traktServerBusy, traktAuthException
+
+from libtrakt import TraktAPI
+from libtrakt.exceptions import traktException, traktServerBusy, traktAuthException
 
 class TraktNotifier:
     """
diff --git a/sickbeard/notifiers/tweet.py b/sickbeard/notifiers/tweet.py
index b12c4219e02dcb1f53edc581ff51c8bdbfba77e6..f5cbc7c78ea3d6675cd918c1952676890b68c374 100644
--- a/sickbeard/notifiers/tweet.py
+++ b/sickbeard/notifiers/tweet.py
@@ -27,8 +27,8 @@ try:
 except:
     from cgi import parse_qsl  #@Reimport
 
-import lib.oauth2 as oauth
-import lib.pythontwitter as twitter
+import oauth2 as oauth
+import pythontwitter as twitter
 
 
 class TwitterNotifier:
diff --git a/sickbeard/postProcessor.py b/sickbeard/postProcessor.py
index ea84e43915f4a5fa97586f9ce6499259766c4bf9..51f53ddfddd1deac11699be524513e75c19e7317 100644
--- a/sickbeard/postProcessor.py
+++ b/sickbeard/postProcessor.py
@@ -43,7 +43,7 @@ from sickbeard.exceptions import ex
 
 from sickbeard.name_parser.parser import NameParser, InvalidNameException, InvalidShowException
 
-from lib import adba
+import adba
 from sickbeard.helpers import verify_freespace
 
 
diff --git a/sickbeard/processTV.py b/sickbeard/processTV.py
index 06e926f5e1b50343032cf69e1a687ca118b82db4..0e7577317af58bc71f0994d9422283b5172edb82 100644
--- a/sickbeard/processTV.py
+++ b/sickbeard/processTV.py
@@ -32,13 +32,13 @@ from sickbeard import common
 
 from sickbeard import failedProcessor
 
-from lib.unrar2 import RarFile, RarInfo
-from lib.unrar2.rar_exceptions import *
+from unrar2 import RarFile, RarInfo
+from unrar2.rar_exceptions import *
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 
 class ProcessResult:
diff --git a/sickbeard/providers/alpharatio.py b/sickbeard/providers/alpharatio.py
index 8154c3933f936cc6a8ec7fca0ac0bfa60d2ea120..3e9fcce6a30187744756e603f9e11dd703683cec 100644
--- a/sickbeard/providers/alpharatio.py
+++ b/sickbeard/providers/alpharatio.py
@@ -37,7 +37,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 class AlphaRatioProvider(generic.TorrentProvider):
diff --git a/sickbeard/providers/animenzb.py b/sickbeard/providers/animenzb.py
index b1a49692c05c96e93be4ac7fb4f68b595703fe0b..13f93517db8876eb0edaf8602b3758307390fc12 100644
--- a/sickbeard/providers/animenzb.py
+++ b/sickbeard/providers/animenzb.py
@@ -27,7 +27,7 @@ from sickbeard import classes, show_name_helpers, helpers
 from sickbeard import exceptions, logger
 from sickbeard.common import *
 from sickbeard import tvcache
-from lib.dateutil.parser import parse as parseDate
+from dateutil.parser import parse as parseDate
 
 
 class animenzb(generic.NZBProvider):
diff --git a/sickbeard/providers/bluetigers.py b/sickbeard/providers/bluetigers.py
index 82de4a61e17ac1a4bbecf60f86c888621c435cf6..bd711e185a8623966956feb500084edd30ee87a0 100644
--- a/sickbeard/providers/bluetigers.py
+++ b/sickbeard/providers/bluetigers.py
@@ -34,7 +34,7 @@ from sickbeard import tvcache
 from sickbeard import show_name_helpers
 from sickbeard import db
 from sickbeard import helpers
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard import classes
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.exceptions import ex
diff --git a/sickbeard/providers/btn.py b/sickbeard/providers/btn.py
index b37581ee9c0186ccfe850d5ed894b277d11c69dc..4a2c6aaaeb5b3d79c4ed3788057ddfbe884bf5cd 100644
--- a/sickbeard/providers/btn.py
+++ b/sickbeard/providers/btn.py
@@ -35,7 +35,7 @@ from sickbeard import db
 from sickbeard.name_parser.parser import NameParser, InvalidNameException, InvalidShowException
 from sickbeard.common import Quality
 
-from lib import jsonrpclib
+import jsonrpclib
 from datetime import datetime
 
 
diff --git a/sickbeard/providers/cpasbien.py b/sickbeard/providers/cpasbien.py
index 272dfd440b27d2bf833102726e1e50054d8df5fc..bf82134f2dd772e1a61f970125b97264edcaf5eb 100644
--- a/sickbeard/providers/cpasbien.py
+++ b/sickbeard/providers/cpasbien.py
@@ -23,8 +23,8 @@ import datetime
 import sickbeard
 import generic
 
-from lib import requests
-from lib.requests import exceptions
+import requests
+from requests import exceptions
 
 from sickbeard.common import USER_AGENT, Quality, cpu_presets
 from sickbeard import logger
diff --git a/sickbeard/providers/fnt.py b/sickbeard/providers/fnt.py
index a62ac6813140ade3f33a9568c13efccd9608afca..dc3092067bc1fabaf91f92ab862b61ca14e592ac 100644
--- a/sickbeard/providers/fnt.py
+++ b/sickbeard/providers/fnt.py
@@ -35,7 +35,7 @@ from sickbeard import show_name_helpers
 from sickbeard import db
 from sickbeard import helpers
 from sickbeard import classes
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.exceptions import ex
 
diff --git a/sickbeard/providers/frenchtorrentdb.py b/sickbeard/providers/frenchtorrentdb.py
index c0d46ba4c0ea262683fedb86834242994ed691f2..a08ae5963b798c516acae852ed01ad55945f1934 100644
--- a/sickbeard/providers/frenchtorrentdb.py
+++ b/sickbeard/providers/frenchtorrentdb.py
@@ -40,7 +40,7 @@ from sickbeard import show_name_helpers
 from sickbeard import db
 from sickbeard import helpers
 from sickbeard import classes
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.exceptions import ex
 
diff --git a/sickbeard/providers/freshontv.py b/sickbeard/providers/freshontv.py
index 13a26c0e98151053adedb24962500193cfd64da1..c8a0610da4fd7f6b15c8b38849a7edabcaeaab37 100644
--- a/sickbeard/providers/freshontv.py
+++ b/sickbeard/providers/freshontv.py
@@ -35,7 +35,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/providers/hdbits.py b/sickbeard/providers/hdbits.py
index fa3daa111d911880e82cca2a8d8e8ee45cd52619..36e495a7e9da82d3a8cc620c7b058c9fc51ffd81 100644
--- a/sickbeard/providers/hdbits.py
+++ b/sickbeard/providers/hdbits.py
@@ -26,7 +26,7 @@ from sickbeard.exceptions import AuthException
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 
 class HDBitsProvider(generic.TorrentProvider):
diff --git a/sickbeard/providers/hdtorrents.py b/sickbeard/providers/hdtorrents.py
index 6bea0529f325183c0fa6fc9597850ab0731ce37b..907ea15101c3ec829cc0144d2d44bd86fcf85a5d 100644
--- a/sickbeard/providers/hdtorrents.py
+++ b/sickbeard/providers/hdtorrents.py
@@ -36,7 +36,7 @@ import requests
 from requests import exceptions
 from bs4 import BeautifulSoup as soup
 #from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from requests.auth import AuthBase
 from datetime import datetime
diff --git a/sickbeard/providers/hounddawgs.py b/sickbeard/providers/hounddawgs.py
index 5f24eb469b549d3ae4dac374b46f4a8561ea8be6..f906e57ed79a2e6a55fb5943aabb1e50394304d7 100644
--- a/sickbeard/providers/hounddawgs.py
+++ b/sickbeard/providers/hounddawgs.py
@@ -36,7 +36,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/providers/iptorrents.py b/sickbeard/providers/iptorrents.py
index 8877040e30d5f2f7253173547fb5868e72de6319..d72959335322fca153cf813e9d849506bd790af2 100644
--- a/sickbeard/providers/iptorrents.py
+++ b/sickbeard/providers/iptorrents.py
@@ -37,7 +37,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.show_name_helpers import allPossibleShowNames
 from sickbeard.name_parser.parser import NameParser, InvalidNameException, InvalidShowException
diff --git a/sickbeard/providers/kat.py b/sickbeard/providers/kat.py
index bdefc78cdb8b2c583fa123e57d10990880e38146..3d50c81552efa0fe773d5045886e8f5ebf44ba9d 100644
--- a/sickbeard/providers/kat.py
+++ b/sickbeard/providers/kat.py
@@ -37,7 +37,7 @@ from sickbeard import db
 from sickbeard import classes
 from sickbeard.show_name_helpers import allPossibleShowNames, sanitizeSceneName
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 
 
 class KATProvider(generic.TorrentProvider):
diff --git a/sickbeard/providers/libertalia.py b/sickbeard/providers/libertalia.py
index daff4eed4e3a13831e710e2d35aefa4c39b01b52..4cc3a07aa105dc20f1543697be9e8f03e3de834e 100644
--- a/sickbeard/providers/libertalia.py
+++ b/sickbeard/providers/libertalia.py
@@ -41,7 +41,7 @@ from sickbeard import show_name_helpers
 from sickbeard import db
 from sickbeard import helpers
 from sickbeard import classes
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.exceptions import ex
 
diff --git a/sickbeard/providers/morethantv.py b/sickbeard/providers/morethantv.py
index 69d8c64b346aecc60ec013c5178dfbd408587d38..d1a452f86e29018e7418b0e1692e4d09f9b4c39e 100644
--- a/sickbeard/providers/morethantv.py
+++ b/sickbeard/providers/morethantv.py
@@ -38,7 +38,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/providers/omgwtfnzbs.py b/sickbeard/providers/omgwtfnzbs.py
index 6d4265474752ce6f6f4dda48e67f5cf437f26c46..a1e5b5d89954ea3b906a5c4d4da9d4a9bdbb978f 100644
--- a/sickbeard/providers/omgwtfnzbs.py
+++ b/sickbeard/providers/omgwtfnzbs.py
@@ -37,7 +37,7 @@ except ImportError:
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 
 class OmgwtfnzbsProvider(generic.NZBProvider):
diff --git a/sickbeard/providers/rsstorrent.py b/sickbeard/providers/rsstorrent.py
index a69cc2e70b097d3d248a70033368c7ffd5ac2ad9..0fc185a91d38cd01eb8265246a2cc5bb437ba8e5 100644
--- a/sickbeard/providers/rsstorrent.py
+++ b/sickbeard/providers/rsstorrent.py
@@ -29,7 +29,7 @@ from sickbeard import tvcache
 from sickbeard.exceptions import ex
 
 import requests
-from lib.bencode import bdecode
+from bencode import bdecode
 
 
 class TorrentRssProvider(generic.TorrentProvider):
diff --git a/sickbeard/providers/scc.py b/sickbeard/providers/scc.py
index 57e18c5d0cba768e3a3b03417134056b82884c7f..89405fb9ce0ecc35d62f4be06c934aaf3b182e34 100644
--- a/sickbeard/providers/scc.py
+++ b/sickbeard/providers/scc.py
@@ -38,7 +38,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
@@ -94,7 +94,6 @@ class SCCProvider(generic.TorrentProvider):
         self.session = requests.Session()
 
         try:
-            from lib import certifi
             response = self.session.post(self.urls['login'], data=login_params, headers=self.headers, timeout=30)
         except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
             logger.log(u'Unable to connect to ' + self.name + ' provider: ' + ex(e), logger.ERROR)
diff --git a/sickbeard/providers/scenetime.py b/sickbeard/providers/scenetime.py
index 7fb7e29541f87770956c6836347612ed08b0e021..317bc3ff56954684e15a0c80fb2c00a179f25ef7 100644
--- a/sickbeard/providers/scenetime.py
+++ b/sickbeard/providers/scenetime.py
@@ -35,7 +35,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/providers/thepiratebay.py b/sickbeard/providers/thepiratebay.py
index 370a80b2dd1bac807a8f4c60fda02025deb33339..93c58d6ef3290e1b42c0f8db92819063611cbc37 100644
--- a/sickbeard/providers/thepiratebay.py
+++ b/sickbeard/providers/thepiratebay.py
@@ -41,7 +41,7 @@ from sickbeard.exceptions import ex
 from sickbeard import encodingKludge as ek
 import requests
 from requests import exceptions
-from lib.unidecode import unidecode
+from unidecode import unidecode
 
 
 class ThePirateBayProvider(generic.TorrentProvider):
diff --git a/sickbeard/providers/tntvillage.py b/sickbeard/providers/tntvillage.py
index 3d51c11f95ee6f1db03dce7e9b0903621c85ed8c..83e26e084c7ca303d895aceb4fdbc61d842f1c60 100644
--- a/sickbeard/providers/tntvillage.py
+++ b/sickbeard/providers/tntvillage.py
@@ -33,7 +33,7 @@ from sickbeard import clients
 import requests
 from requests.exceptions import RequestException
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 from sickbeard.name_parser.parser import NameParser, InvalidNameException, InvalidShowException
 
diff --git a/sickbeard/providers/torrentbytes.py b/sickbeard/providers/torrentbytes.py
index 94845b99954f5914d00cc00baa1f0a92e8e6da7f..da39b75453cc83f06495aa3fb7bb356f58a7cb5c 100644
--- a/sickbeard/providers/torrentbytes.py
+++ b/sickbeard/providers/torrentbytes.py
@@ -35,7 +35,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/providers/torrentleech.py b/sickbeard/providers/torrentleech.py
index 687ce5baf837b7a3a66715283a2bd30214eacb7d..6a2a368d940b28a0d2fd4e6f5d0a5c10850e4ea0 100644
--- a/sickbeard/providers/torrentleech.py
+++ b/sickbeard/providers/torrentleech.py
@@ -37,7 +37,7 @@ from sickbeard import clients
 import requests
 from requests import exceptions
 from sickbeard.bs4_parser import BS4Parser
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.helpers import sanitizeSceneName
 
 
diff --git a/sickbeard/sab.py b/sickbeard/sab.py
index 9464fe0c8604dff504f267261dede18e149f47f8..01704fea758f111b838fa8006f43a807e818e001 100644
--- a/sickbeard/sab.py
+++ b/sickbeard/sab.py
@@ -23,13 +23,13 @@ import datetime
 
 import sickbeard
 
-from lib import MultipartPostHandler
+import MultipartPostHandler
 import urllib2, cookielib
 
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 from sickbeard.common import USER_AGENT
 from sickbeard import logger
diff --git a/sickbeard/scene_exceptions.py b/sickbeard/scene_exceptions.py
index 063ab210671150c89f3c0aad6845de97674f4e28..b75c2ace421fa41d27c246bda252bd6d9d91f55e 100644
--- a/sickbeard/scene_exceptions.py
+++ b/sickbeard/scene_exceptions.py
@@ -175,12 +175,10 @@ def retrieve_exceptions():
             logger.log(u"Checking for scene exception updates for " + sickbeard.indexerApi(indexer).name + "")
 
             loc = sickbeard.indexerApi(indexer).config['scene_loc']
-            if loc.startswith("http"):
+            try:
                 data = helpers.getURL(loc, session=sickbeard.indexerApi(indexer).session)
-            else:
-                loc = helpers.real_path(ek.ek(os.path.join, ek.ek(os.path.dirname, __file__), loc))
-                with open(loc, 'r') as file:
-                    data = file.read()
+            except Exception:
+                continue
 
             if data is None:
                 # When data is None, trouble connecting to github, or reading file failed
diff --git a/sickbeard/scene_numbering.py b/sickbeard/scene_numbering.py
index 4bf5a84b64328eea332bf3f9f3e9669ec1f951bf..0887278d41adc44b3dd7393cf9d3607336aca63a 100644
--- a/sickbeard/scene_numbering.py
+++ b/sickbeard/scene_numbering.py
@@ -30,7 +30,7 @@ import sickbeard
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 from sickbeard import logger
 from sickbeard import db
diff --git a/sickbeard/show_name_helpers.py b/sickbeard/show_name_helpers.py
index c37f37533ee98d80b8e29e34fa0b8800dd586cd6..e6f3d90859950b4afe29b6dbc0430082d5bd49cd 100644
--- a/sickbeard/show_name_helpers.py
+++ b/sickbeard/show_name_helpers.py
@@ -30,7 +30,7 @@ from sickbeard import logger
 from sickbeard import db
 from sickbeard import encodingKludge as ek
 from name_parser.parser import NameParser, InvalidNameException, InvalidShowException
-from lib.unidecode import unidecode
+from unidecode import unidecode
 from sickbeard.blackandwhitelist import BlackAndWhiteList
 
 resultFilters = ["sub(bed|ed|pack|s)", "(dk|fin|heb|kor|nor|nordic|pl|swe)sub(bed|ed|s)?",
diff --git a/sickbeard/show_queue.py b/sickbeard/show_queue.py
index 5a59ce602282e0a46f0a991cf9f1739b62a22cda..29f27f0608b777409a6d9100ca7f56bbb0a7c01d 100644
--- a/sickbeard/show_queue.py
+++ b/sickbeard/show_queue.py
@@ -22,7 +22,7 @@ import traceback
 
 import sickbeard
 
-from lib.imdb import _exceptions as imdb_exceptions
+from imdb import _exceptions as imdb_exceptions
 from sickbeard.common import SKIPPED, WANTED
 from sickbeard.tv import TVShow
 from sickbeard import exceptions, logger, ui, db, notifiers
diff --git a/sickbeard/traktChecker.py b/sickbeard/traktChecker.py
index eb9ca3b576735565b4715dfbd65487b386f9feda..85f00b5bf55a5f603e50f332acd9905dffe68252 100644
--- a/sickbeard/traktChecker.py
+++ b/sickbeard/traktChecker.py
@@ -31,8 +31,8 @@ from sickbeard import db
 from sickbeard import notifiers
 from sickbeard.common import SNATCHED, SNATCHED_PROPER, DOWNLOADED, SKIPPED, UNAIRED, IGNORED, ARCHIVED, WANTED, UNKNOWN, FAILED
 from common import Quality, qualityPresetStrings, statusStrings
-from lib.trakt import *
-from trakt.exceptions import traktException
+from libtrakt import *
+from libtrakt.exceptions import traktException
 
 
 def setEpisodeToWanted(show, s, e):
diff --git a/sickbeard/tv.py b/sickbeard/tv.py
index 58ea13f7714933647daaf5d7f4183e8ba88c0df3..eba5316065f1f35a247c8835cbc7f8f5c980f7f6 100644
--- a/sickbeard/tv.py
+++ b/sickbeard/tv.py
@@ -35,11 +35,11 @@ from name_parser.parser import NameParser, InvalidNameException, InvalidShowExce
 import subliminal
 
 try:
-    from lib.send2trash import send2trash
+    from send2trash import send2trash
 except ImportError:
     pass
 
-from lib.imdb import imdb
+from imdb import imdb
 import logging
 from sickbeard import db
 from sickbeard import helpers, exceptions, logger
@@ -64,11 +64,11 @@ from common import NAMING_DUPLICATE, NAMING_EXTEND, NAMING_LIMITED_EXTEND, NAMIN
     NAMING_LIMITED_EXTEND_E_PREFIXED
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
 import babelfish
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 
 def dirty_setter(attr_name):
@@ -1140,7 +1140,8 @@ class TVShow(object):
                 episode.downloadSubtitles(force=force)
 
         except Exception:
-            logger.log("Error occurred when downloading subtitles: " + traceback.format_exc(), logger.DEBUG)
+            logger.log("%s: Error occurred when downloading subtitles for %s" % (self.indexerid, self.name), logger.DEBUG)
+            logger.log(traceback.format_exc(), logger.ERROR)            
 
     def saveToDB(self, forceSave=False):
 
@@ -1480,7 +1481,8 @@ class TVEpisode(object):
             subliminal.save_subtitles(foundSubs, directory=subs_new_path, single=not sickbeard.SUBTITLES_MULTI)
 
         except Exception as e:
-            logger.log("Error occurred when downloading subtitles: " + traceback.format_exc(), logger.ERROR)
+            logger.log("Error occurred when downloading subtitles for: %s" % self.location)
+            logger.log(traceback.format_exc(), logger.ERROR)
             return
 
         self.refreshSubtitles()
diff --git a/sickbeard/versionChecker.py b/sickbeard/versionChecker.py
index 29a6551fc1c18d969dc46adf3b40ee4f0bc1270b..d4cd64bbfd24bcbf98b52f706f2c02b8ef4173cb 100644
--- a/sickbeard/versionChecker.py
+++ b/sickbeard/versionChecker.py
@@ -37,9 +37,9 @@ import requests
 from requests.exceptions import RequestException
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 
 class CheckVersion():
diff --git a/sickbeard/webapi.py b/sickbeard/webapi.py
index 086520f44377974d7cd093cd467f3d71e56ec988..577c790cb3646209b6b9bf2d3e4b77f8c55cbab3 100644
--- a/sickbeard/webapi.py
+++ b/sickbeard/webapi.py
@@ -44,7 +44,7 @@ import codecs
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 import subliminal
 import babelfish
@@ -104,7 +104,7 @@ class ApiHandler(RequestHandler):
         _call_dispatcher = self.call_dispatcher
         # if profile was set wrap "_call_dispatcher" in the profile function
         if 'profile' in kwargs:
-            from lib.profilehooks import profile
+            from profilehooks import profile
 
             _call_dispatcher = profile(_call_dispatcher, immediate=True)
             del kwargs["profile"]
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index 3acb9b5cd82ceb231e34291ba7bb6769febe438b..7c2166dfd1df50b18b6713b3002334255789625b 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -52,11 +52,11 @@ from sickbeard.scene_numbering import get_scene_numbering, set_scene_numbering,
     get_xem_numbering_for_show, get_scene_absolute_numbering_for_show, get_xem_absolute_numbering_for_show, \
     get_scene_absolute_numbering
 
-from lib.dateutil import tz, parser as dateutil_parser
-from lib.unrar2 import RarFile
+from dateutil import tz, parser as dateutil_parser
+from unrar2 import RarFile
 import adba, subliminal
-from lib.trakt import TraktAPI
-from lib.trakt.exceptions import traktException
+from libtrakt import TraktAPI
+from libtrakt.exceptions import traktException
 from versionChecker import CheckVersion
 
 import requests
@@ -65,7 +65,7 @@ import markdown2
 try:
     import json
 except ImportError:
-    from lib import simplejson as json
+    import simplejson as json
 
 try:
     import xml.etree.cElementTree as etree
diff --git a/tests/ssl_sni_tests.py b/tests/ssl_sni_tests.py
index 700743a2b63122fe2ac7595c2a1ed16cdfe2ad9d..ac6452fbaeb75d5a97363e367ff124dbcc1a1a7b 100644
--- a/tests/ssl_sni_tests.py
+++ b/tests/ssl_sni_tests.py
@@ -38,11 +38,12 @@ class SNI_Tests(unittest.TestCase):
             except requests.exceptions.Timeout:
                 pass
             except requests.exceptions.SSLError as error:
-                if u'SSL3_GET_SERVER_CERTIFICATE' not in ex(error.message):
+                if u'SSL3_GET_SERVER_CERTIFICATE' not in ex(error):
                     print 'SSLError on %s: %s' % (provider.name, ex(error.message))
                     raise
                 else:
                     print  'Cannot verify certificate for %s' % provider.name
+                    pass
             except Exception:
                 pass
 
diff --git a/tests/test_lib.py b/tests/test_lib.py
index a4077eddc5a587081f62f0e47ea35cfc0e467e03..04238bf8a3de846c56821a709a5b4443701ea468 100644
--- a/tests/test_lib.py
+++ b/tests/test_lib.py
@@ -36,9 +36,9 @@ from sickbeard.databases import cache_db, failed_db
 from sickbeard.tv import TVEpisode
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 #=================
 # test globals
diff --git a/updater.py b/updater.py
index 7d3ae8b89dce3599b1b27f6cd007677dac1334f9..15b1dbedd40f21cd1fd40c852d335e605f0a839d 100644
--- a/updater.py
+++ b/updater.py
@@ -1,9 +1,9 @@
 import subprocess, os, time, sys, os.path, re
 
 import shutil
-import lib.shutil_custom
+import shutil_custom
 
-shutil.copyfile = lib.shutil_custom.copyfile_custom
+shutil.copyfile = shutil_custom.copyfile_custom
 
 try:
     log_file = open('sb-update.log', 'w')