diff --git a/SickBeard.py b/SickBeard.py
index a7bf9840a33fe17790036d1f9611e3b126f7dfc2..707783a4dcc3b08e472ec0ca29b7016c0e3337a4 100755
--- a/SickBeard.py
+++ b/SickBeard.py
@@ -32,9 +32,6 @@ import sqlite3
 import traceback
 import getopt
 
-# allow libraries to import each other
-sys.path.append(os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), 'lib'))
-
 import sickbeard
 
 from sickbeard import db
diff --git a/lib/hachoir_core/__init__.py b/lib/hachoir_core/__init__.py
index df1988fda2f02ba08dfed6d6009dc19df68b0c7b..5fcd20a4461562ca5ea022bb094a3a8ba0b34a38 100644
--- a/lib/hachoir_core/__init__.py
+++ b/lib/hachoir_core/__init__.py
@@ -1,2 +1,2 @@
-from hachoir_core.version import VERSION as __version__, PACKAGE, WEBSITE, LICENSE
+from lib.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 f823cfae1038d844d5e498ec5c68aeffc22ff671..a046c9a99b32c715ccf9c70e267e7452f20f97ca 100644
--- a/lib/hachoir_core/benchmark.py
+++ b/lib/hachoir_core/benchmark.py
@@ -1,5 +1,5 @@
-from hachoir_core.tools import humanDurationNanosec
-from hachoir_core.i18n import _
+from lib.hachoir_core.tools import humanDurationNanosec
+from lib.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 d5b31a018b5e3d1bb61e9a6be8874f11414352d1..b18547dd0913be82bc34738a2724d06cb2d9d390 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 hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.compatibility import reversed
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.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 8c4178df0a66e04d6720687d9b0e7f7e6a9ca77a..80161712fff34ab11d9d50b89b07a171d18ba33a 100644
--- a/lib/hachoir_core/cmd_line.py
+++ b/lib/hachoir_core/cmd_line.py
@@ -1,8 +1,8 @@
 from optparse import OptionGroup
-from hachoir_core.log import log
-from hachoir_core.i18n import _, getTerminalCharset
-from hachoir_core.tools import makePrintable
-import hachoir_core.config as config
+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
 
 def getHachoirOptions(parser):
     """
diff --git a/lib/hachoir_core/dict.py b/lib/hachoir_core/dict.py
index f887683c78416acd4ac264f345723f9ed124235c..f7eb65e6ee41b082c02b8a30c179b1ec5ff949a0 100644
--- a/lib/hachoir_core/dict.py
+++ b/lib/hachoir_core/dict.py
@@ -2,8 +2,8 @@
 Dictionnary classes which store values order.
 """
 
-from hachoir_core.error import HachoirError
-from hachoir_core.i18n import _
+from lib.hachoir_core.error import HachoirError
+from lib.hachoir_core.i18n import _
 
 class UniqKeyError(HachoirError):
     """
diff --git a/lib/hachoir_core/endian.py b/lib/hachoir_core/endian.py
index 5f6ae88b415490224f552699171c8f63e62efa1b..6d09e2619edd4af188613741575a3ca40486b236 100644
--- a/lib/hachoir_core/endian.py
+++ b/lib/hachoir_core/endian.py
@@ -2,7 +2,7 @@
 Constant values about endian.
 """
 
-from hachoir_core.i18n import _
+from lib.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 9ec6b57382ecf0805a40180f563554510d57631b..78f614a2a3806f93add1d66e3b637f83133c21c5 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 hachoir_core.log import log
-from hachoir_core.tools import makePrintable
+from lib.hachoir_core.log import log
+from lib.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 f313c9ba11ff92476ba436cf2528a34b4a7ec486..66f3ed6b83b09055e73cc079a5fdc8b023be7f9d 100644
--- a/lib/hachoir_core/field/__init__.py
+++ b/lib/hachoir_core/field/__init__.py
@@ -1,44 +1,44 @@
 # Field classes
-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 (
+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 (
     Int8,  Int16,  Int24,  Int32,  Int64,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     GenericInteger)
-from hachoir_core.field.enum import Enum
-from hachoir_core.field.string_field import (GenericString,
+from lib.hachoir_core.field.enum import Enum
+from lib.hachoir_core.field.string_field import (GenericString,
     String, CString, UnixLine,
     PascalString8, PascalString16, PascalString32)
-from hachoir_core.field.padding import (PaddingBits, PaddingBytes,
+from lib.hachoir_core.field.padding import (PaddingBits, PaddingBytes,
     NullBits, NullBytes)
 
 # Functions
-from hachoir_core.field.helper import (isString, isInteger,
+from lib.hachoir_core.field.helper import (isString, isInteger,
     createPaddingField, createNullField, createRawField,
     writeIntoFile, createOrphanField)
 
 # FieldSet classes
-from hachoir_core.field.fake_array import FakeArray
-from hachoir_core.field.basic_field_set import (BasicFieldSet,
+from lib.hachoir_core.field.fake_array import FakeArray
+from lib.hachoir_core.field.basic_field_set import (BasicFieldSet,
     ParserError, MatchError)
-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
+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
 
 # Complex types
-from hachoir_core.field.float import Float32, Float64, Float80
-from hachoir_core.field.timestamp import (GenericTimestamp,
+from lib.hachoir_core.field.float import Float32, Float64, Float80
+from lib.hachoir_core.field.timestamp import (GenericTimestamp,
     TimestampUnix32, TimestampUnix64, TimestampMac32, TimestampUUID60, TimestampWin64,
     DateTimeMSDOS32, TimeDateMSDOS32, TimedeltaWin64)
 
 # Special Field classes
-from hachoir_core.field.link import Link, Fragment
+from lib.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 c044124b8185da4368b4c860b2db31ab3f91063a..5c1bf9f8017705e5525b9dd0f7bd5e6bb24cf721 100644
--- a/lib/hachoir_core/field/basic_field_set.py
+++ b/lib/hachoir_core/field/basic_field_set.py
@@ -1,7 +1,7 @@
-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
+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
 
 class ParserError(FieldError):
     """
diff --git a/lib/hachoir_core/field/bit_field.py b/lib/hachoir_core/field/bit_field.py
index 8fae3c7c2685cce075ad9f26a3484249b5a06e4b..85f5502d31189db70966878e2087b42ed1999403 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 hachoir_core.field import Field
-from hachoir_core.i18n import _
-from hachoir_core import config
+from lib.hachoir_core.field import Field
+from lib.hachoir_core.i18n import _
+from lib.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 16db18102c8aabb8b3d2aedfc2e0f065d25293fe..4591daa1ece38d026fe507517ccf3e846923f556 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 hachoir_core.field import Field, FieldError
-from hachoir_core.tools import makePrintable
-from hachoir_core.bits import str2hex
-from hachoir_core import config
+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
 
 MAX_LENGTH = (2**64)
 
diff --git a/lib/hachoir_core/field/character.py b/lib/hachoir_core/field/character.py
index 42bc4b1e7ca4f9560758a0c06ef2d90dab2cee65..002a18c9f48e416f4bd0dfc3275a17dca7747531 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 hachoir_core.field import Bits
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.tools import makePrintable
+from lib.hachoir_core.field import Bits
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 5535cafebb30bba888617c78f1eef61138b9a31a..f5ae6d951aa94acb37a2357732f1a30f8e1e6317 100644
--- a/lib/hachoir_core/field/fake_array.py
+++ b/lib/hachoir_core/field/fake_array.py
@@ -1,5 +1,5 @@
 import itertools
-from hachoir_core.field import MissingField
+from lib.hachoir_core.field import MissingField
 
 class FakeArray:
     """
diff --git a/lib/hachoir_core/field/field.py b/lib/hachoir_core/field/field.py
index e4c949af7348d6ec813f6a7bc6ac3d399198eed1..ccb9e17274d6279dba96f56e5469c8b9b3f6441f 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 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 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 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 92b5192626df6c2636816f07653e208b600887f5..c535081f920ef0f53d4e05df20265674228eef49 100644
--- a/lib/hachoir_core/field/field_set.py
+++ b/lib/hachoir_core/field/field_set.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import BasicFieldSet, GenericFieldSet
+from lib.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 27f9756300d7c093e91dd4a5d14243eb3429e7a3..56d77867108ea2a6dca29c5d9a7b8d8cbd4d5e26 100644
--- a/lib/hachoir_core/field/float.py
+++ b/lib/hachoir_core/field/float.py
@@ -1,5 +1,5 @@
-from hachoir_core.field import Bit, Bits, FieldSet
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.field import Bit, Bits, FieldSet
+from lib.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 a3b5eb7d59df16ba159c8764129f6d2242e1bb9d..66634827fa0a3f8017a13c6c51b1ddc8af481151 100644
--- a/lib/hachoir_core/field/generic_field_set.py
+++ b/lib/hachoir_core/field/generic_field_set.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
+from lib.hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
     createRawField, createNullField, createPaddingField, FakeArray)
-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
+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
 
 class GenericFieldSet(BasicFieldSet):
     """
diff --git a/lib/hachoir_core/field/helper.py b/lib/hachoir_core/field/helper.py
index ba44f68e3d848de7a0d7f5eb22942e506d307e1e..174d79e28f5772632013d516763e1c9702d88841 100644
--- a/lib/hachoir_core/field/helper.py
+++ b/lib/hachoir_core/field/helper.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldError,
+from lib.hachoir_core.field import (FieldError,
     RawBits, RawBytes,
     PaddingBits, PaddingBytes,
     NullBits, NullBytes,
     GenericString, GenericInteger)
-from hachoir_core.stream import FileOutputStream
+from lib.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 763f1d2f0981d077b79990cd9380b00e23b0c5aa..bad649964fcd1ffdfe3a67588ce939d97038573b 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 hachoir_core.field import Bits, FieldError
+from lib.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 b331c3b880e7fdb9bd890fd08e5d5fa3b638b735..cccf2e670834f9c4b115ef5467e1f47eec8e41a7 100644
--- a/lib/hachoir_core/field/link.py
+++ b/lib/hachoir_core/field/link.py
@@ -1,5 +1,5 @@
-from hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
-from hachoir_core.stream import FragmentedStream
+from lib.hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
+from lib.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 d145ab961dfd57cf9c30455ea23f8f5a0f6493ec..22403b6db4388924c8dcade0a84423d9394b54e4 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 hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
-from hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
+from lib.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 c1c4b8c07a62b1dcf5e32fa520ddb28f0c0e45a2..3d0fcc0ffec9bccf1281e0f4e755b2f50fe8cf0f 100644
--- a/lib/hachoir_core/field/padding.py
+++ b/lib/hachoir_core/field/padding.py
@@ -1,6 +1,6 @@
-from hachoir_core.field import Bits, Bytes
-from hachoir_core.tools import makePrintable, humanFilesize
-from hachoir_core import config
+from lib.hachoir_core.field import Bits, Bytes
+from lib.hachoir_core.tools import makePrintable, humanFilesize
+from lib.hachoir_core import config
 
 class PaddingBits(Bits):
     """
diff --git a/lib/hachoir_core/field/parser.py b/lib/hachoir_core/field/parser.py
index e294e0246576d56ecbdf96d808c82393d6feeccc..f4aebadd6707f9a04c71e5447fd86a007aff8672 100644
--- a/lib/hachoir_core/field/parser.py
+++ b/lib/hachoir_core/field/parser.py
@@ -1,7 +1,7 @@
-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
+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
 
 class Parser(GenericFieldSet):
     """
diff --git a/lib/hachoir_core/field/seekable_field_set.py b/lib/hachoir_core/field/seekable_field_set.py
index 9bc3fbbc131e0262e4d11c3a2fc180e64af9b2ff..ee7b11278b477b0767ea82261a3b681367ef02ed 100644
--- a/lib/hachoir_core/field/seekable_field_set.py
+++ b/lib/hachoir_core/field/seekable_field_set.py
@@ -1,8 +1,8 @@
-from hachoir_core.field import Field, BasicFieldSet, FakeArray, MissingField, ParserError
-from hachoir_core.tools import makeUnicode
-from hachoir_core.error import HACHOIR_ERRORS
+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 itertools import repeat
-import hachoir_core.config as config
+import lib.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 afe6cdb07967e6036f43b8b2e24c75eae2eecf5f..2e9e689e7a13e5ac4ea32771cb47d2b1c3f76edd 100644
--- a/lib/hachoir_core/field/static_field_set.py
+++ b/lib/hachoir_core/field/static_field_set.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import FieldSet, ParserError
+from lib.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 e44e24dc69053fe0f9409958cee98461911f3aeb..e2bb4ed088dcc894c65bb9fcd874de584207df93 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 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 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 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 0f2912d403aea55f8984786d17f48e1e05ba7f04..b5993ba4fcb020732086f6b471c08753618abc2c 100644
--- a/lib/hachoir_core/field/sub_file.py
+++ b/lib/hachoir_core/field/sub_file.py
@@ -1,6 +1,6 @@
-from hachoir_core.field import Bytes
-from hachoir_core.tools import makePrintable, humanFilesize
-from hachoir_core.stream import InputIOStream
+from lib.hachoir_core.field import Bytes
+from lib.hachoir_core.tools import makePrintable, humanFilesize
+from lib.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 a533a4b22200c0f8855760dc667408782fc59a36..579065375fac639334bb4d364549a98bb1c94dc9 100644
--- a/lib/hachoir_core/field/timestamp.py
+++ b/lib/hachoir_core/field/timestamp.py
@@ -1,7 +1,7 @@
-from hachoir_core.tools import (humanDatetime, humanDuration,
+from lib.hachoir_core.tools import (humanDatetime, humanDuration,
     timestampUNIX, timestampMac32, timestampUUID60,
     timestampWin64, durationWin64)
-from hachoir_core.field import Bits, FieldSet
+from lib.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 953fdbc3d27053c9eb200580806bae720fc76588..eba86471130b23b26b208af68f620c587fc5461b 100644
--- a/lib/hachoir_core/field/vector.py
+++ b/lib/hachoir_core/field/vector.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import Field, FieldSet, ParserError
+from lib.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 b34c748072e90f1f8f3019ea3491c48eb4f5b8a3..42d37a1c9b8ea391539481e795743108845f3b77 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 hachoir_core.config as config
-import hachoir_core
+import lib.hachoir_core.config as config
+import lib.hachoir_core
 import locale
 from os import path
 import sys
diff --git a/lib/hachoir_core/language.py b/lib/hachoir_core/language.py
index 997f7a61d981cbab80150404e2ccbcbc2ff6e201..2f80ddce5d9207aade6c4e84ce1485df004a7cc9 100644
--- a/lib/hachoir_core/language.py
+++ b/lib/hachoir_core/language.py
@@ -1,4 +1,4 @@
-from hachoir_core.iso639 import ISO639_2
+from lib.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 32fca06d03b3722251a71c79ea67aeecd4731d6a..f777ab6b065c632d6b2c90adfaa0e8433c8d7170 100644
--- a/lib/hachoir_core/log.py
+++ b/lib/hachoir_core/log.py
@@ -1,6 +1,6 @@
 import os, sys, time
-import hachoir_core.config as config
-from hachoir_core.i18n import _
+import lib.hachoir_core.config as config
+from lib.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 hachoir_core.error import getBacktrace
+            from lib.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 163e12a3de702133a1f9dd4ab97f0e642a490555..c2a8f6dcda4f117c1451ab6900a195e4ac19f6ed 100644
--- a/lib/hachoir_core/stream/__init__.py
+++ b/lib/hachoir_core/stream/__init__.py
@@ -1,11 +1,11 @@
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.stream.stream import StreamError
-from hachoir_core.stream.input import (
+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 (
         InputStreamError,
         InputStream, InputIOStream, StringInputStream,
         InputSubStream, InputFieldStream,
         FragmentedStream, ConcatStream)
-from hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
-from hachoir_core.stream.output import (OutputStreamError,
+from lib.hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
+from lib.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 ec2c27c1a2332c7ec19f4ed06e076a0773d8592d..ec01e6e46654dda5c5dfe5428c09c0bd7883807e 100644
--- a/lib/hachoir_core/stream/input.py
+++ b/lib/hachoir_core/stream/input.py
@@ -1,14 +1,14 @@
-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 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 os import dup, fdopen
 from errno import ESPIPE
 from weakref import ref as weakref_ref
-from hachoir_core.stream import StreamError
+from lib.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 e793831029f6f6508ab749e772530e6994b1d929..9c222f3a76305ec075519c61e65246ee6119864a 100644
--- a/lib/hachoir_core/stream/input_helper.py
+++ b/lib/hachoir_core/stream/input_helper.py
@@ -1,5 +1,5 @@
-from hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
-from hachoir_core.stream import InputIOStream, InputSubStream, InputStreamError
+from lib.hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
+from lib.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 e31637d699a9b5993f53159a63c07b13d9c3ba3f..a809f76b60a5d2b30b876a8751a5c0100293f6f7 100644
--- a/lib/hachoir_core/stream/output.py
+++ b/lib/hachoir_core/stream/output.py
@@ -1,7 +1,7 @@
 from cStringIO import StringIO
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.bits import long2raw
-from hachoir_core.stream import StreamError
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.bits import long2raw
+from lib.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 58c9aea83440aaa005adb75c7d9f18a618fb3dad..101fcf68deec2e66d21dfc4b03bfb38a459f9ade 100644
--- a/lib/hachoir_core/stream/stream.py
+++ b/lib/hachoir_core/stream/stream.py
@@ -1,4 +1,4 @@
-from hachoir_core.error import HachoirError
+from lib.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 e2c65f0a00ddf241e0dcefdd1384cc5558c3b7dd..1a67e9be045e89b409be495e2145b0c9abb7e46a 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 hachoir_core.tools import (
+from lib.hachoir_core.tools import (
     humanDuration, humanFilesize, alignValue,
     durationWin64 as doDurationWin64,
     deprecated)
 from types import FunctionType, MethodType
-from hachoir_core.field import Field
+from lib.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 30fa327ab87717aa0e8a2b1d666de94f486c7ccb..1994dbfb6d07ed4a3d69014eb02723417e817011 100644
--- a/lib/hachoir_core/tools.py
+++ b/lib/hachoir_core/tools.py
@@ -4,7 +4,7 @@
 Various utilities.
 """
 
-from hachoir_core.i18n import _, ngettext
+from lib.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 5ab4743cf6b63a790d1b3b3ee3ce2542292f5926..54adbaa85b59e636c78d0b11f2bf7a413da65f95 100644
--- a/lib/hachoir_metadata/__init__.py
+++ b/lib/hachoir_metadata/__init__.py
@@ -1,15 +1,15 @@
-from hachoir_metadata.version import VERSION as __version__
-from hachoir_metadata.metadata import extractMetadata
+from lib.hachoir_metadata.version import VERSION as __version__
+from lib.hachoir_metadata.metadata import extractMetadata
 
 # Just import the module,
 # each module use registerExtractor() method
-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
+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
 
diff --git a/lib/hachoir_metadata/archive.py b/lib/hachoir_metadata/archive.py
index 7fa39ea71d75e9cff4d35ad3773142465dfd9f07..64289ac9c963207777437511f45f2f92276ce123 100644
--- a/lib/hachoir_metadata/archive.py
+++ b/lib/hachoir_metadata/archive.py
@@ -1,11 +1,11 @@
-from hachoir_metadata.metadata_item import QUALITY_BEST, QUALITY_FASTEST
-from hachoir_metadata.safe import fault_tolerant, getValue
-from hachoir_metadata.metadata import (
+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 (
     RootMetadata, Metadata, MultipleMetadata, registerExtractor)
-from hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
+from lib.hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
     TarFile, ZipFile, MarFile)
-from hachoir_core.tools import humanUnixAttributes
-from hachoir_core.i18n import _
+from lib.hachoir_core.tools import humanUnixAttributes
+from lib.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 566613e0ccfe06249687b2eac8c76ed0dd67953b..86284c4718158efcd09042f597252a15d53dcb12 100644
--- a/lib/hachoir_metadata/audio.py
+++ b/lib/hachoir_metadata/audio.py
@@ -1,12 +1,12 @@
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-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 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 datetime import timedelta
-from hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
-from hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
+from lib.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 b111c486202f050cddd96b896dc05752dbc53d70..ff5ff9979f8dc218b9d010cef3871b1643e81cf7 100644
--- a/lib/hachoir_metadata/file_system.py
+++ b/lib/hachoir_metadata/file_system.py
@@ -1,6 +1,6 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_metadata.safe import fault_tolerant
-from hachoir_parser.file_system import ISO9660
+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 datetime import datetime
 
 class ISO9660_Metadata(RootMetadata):
diff --git a/lib/hachoir_metadata/filter.py b/lib/hachoir_metadata/filter.py
index b4af8e3c6dc396ba95cb18b5b0b9e7049d3a4e04..0807c5d7887f5cef0ec348436a916fed9805d9d4 100644
--- a/lib/hachoir_metadata/filter.py
+++ b/lib/hachoir_metadata/filter.py
@@ -1,4 +1,4 @@
-from hachoir_metadata.timezone import UTC
+from lib.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 0d04f92000337a3fb860a27a370c32a03b278ae8..d52c12b2c037a919f68b0695dd1b82a4f2562a50 100644
--- a/lib/hachoir_metadata/formatter.py
+++ b/lib/hachoir_metadata/formatter.py
@@ -1,4 +1,4 @@
-from hachoir_core.i18n import _, ngettext
+from lib.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 905cdd7939f728fee4e7bf32c3220e5c6e289420..fbe41a3cb5f888c2638790528b99459731c3e249 100644
--- a/lib/hachoir_metadata/image.py
+++ b/lib/hachoir_metadata/image.py
@@ -1,12 +1,12 @@
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from hachoir_parser.image import (
+from lib.hachoir_parser.image import (
     BmpFile, IcoFile, PcxFile, GifFile, PngFile, TiffFile,
     XcfFile, TargaFile, WMF_File, PsdFile)
-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
+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
 
 def computeComprRate(meta, compr_size):
     """
diff --git a/lib/hachoir_metadata/jpeg.py b/lib/hachoir_metadata/jpeg.py
index 29247dc6fe7696b536d31a5181e7478ff6b7463b..9a3fe1aa138d5857f724e90265c7cdd16739ff8f 100644
--- a/lib/hachoir_metadata/jpeg.py
+++ b/lib/hachoir_metadata/jpeg.py
@@ -1,14 +1,14 @@
-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 (
+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 (
     JpegFile, JpegChunk,
     QUALITY_HASH_COLOR, QUALITY_SUM_COLOR,
     QUALITY_HASH_GRAY, QUALITY_SUM_GRAY)
-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 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 datetime import datetime
 
 def deg2float(degree, minute, second):
diff --git a/lib/hachoir_metadata/metadata.py b/lib/hachoir_metadata/metadata.py
index 37461c9d55986fdaea68b7d35d7f1a093e87dc00..489a54667272ff975d53c4d70b583c71d23696b0 100644
--- a/lib/hachoir_metadata/metadata.py
+++ b/lib/hachoir_metadata/metadata.py
@@ -1,14 +1,14 @@
 # -*- coding: utf-8 -*-
-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 (
+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 (
     MIN_PRIORITY, MAX_PRIORITY, QUALITY_NORMAL)
-from hachoir_metadata.register import registerAllItems
+from lib.hachoir_metadata.register import registerAllItems
 
 extractors = {}
 
diff --git a/lib/hachoir_metadata/metadata_item.py b/lib/hachoir_metadata/metadata_item.py
index bddd3b07425b89385225356ca55cc1bf14f3a7bc..4b5573af9fe370a392c148cbef2b80ce45bc18e0 100644
--- a/lib/hachoir_metadata/metadata_item.py
+++ b/lib/hachoir_metadata/metadata_item.py
@@ -1,7 +1,7 @@
-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
+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
 
 MIN_PRIORITY = 100
 MAX_PRIORITY = 999
diff --git a/lib/hachoir_metadata/misc.py b/lib/hachoir_metadata/misc.py
index 04c70a6e7047118ae81ffc8c67aac88eabe84885..6764778469953d54797858ad3d2aad7afda2cd4a 100644
--- a/lib/hachoir_metadata/misc.py
+++ b/lib/hachoir_metadata/misc.py
@@ -1,11 +1,11 @@
-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
+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
 
 class TorrentMetadata(RootMetadata):
     KEY_TO_ATTR = {
diff --git a/lib/hachoir_metadata/program.py b/lib/hachoir_metadata/program.py
index a524cee62db8e902d8cda9b5dd0259bb0b61e531..14027d509042431a8266909235a33e8444fa0c79 100644
--- a/lib/hachoir_metadata/program.py
+++ b/lib/hachoir_metadata/program.py
@@ -1,6 +1,6 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_parser.program import ExeFile
-from hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
+from lib.hachoir_parser.program import ExeFile
+from lib.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 3cbde86dd86987f78b357e6fb87b69fe144aa2b2..9916d36f7c93a93e132fe43587eceac755808cc5 100644
--- a/lib/hachoir_metadata/register.py
+++ b/lib/hachoir_metadata/register.py
@@ -1,17 +1,17 @@
-from hachoir_core.i18n import _
-from hachoir_core.tools import (
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import (
     humanDuration, humanBitRate,
     humanFrequency, humanBitSize, humanFilesize,
     humanDatetime)
-from hachoir_core.language import Language
-from hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
+from lib.hachoir_core.language import Language
+from lib.hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
 from datetime import date, datetime, timedelta
-from hachoir_metadata.formatter import (
+from lib.hachoir_metadata.formatter import (
     humanAudioChannel, humanFrameRate, humanComprRate, humanAltitude,
     humanPixelSize, humanDPI)
-from hachoir_metadata.setter import (
+from lib.hachoir_metadata.setter import (
     setDatetime, setTrackNumber, setTrackTotal, setLanguage)
-from hachoir_metadata.metadata_item import Data
+from lib.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 adcc0bd9030eeb189459fcd33b09d1aac04f8a38..e3bfa6f4d3fbc0e6615540a03aa20ed3fc23b66d 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 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 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 datetime import timedelta
 
 class RiffMetadata(MultipleMetadata):
diff --git a/lib/hachoir_metadata/safe.py b/lib/hachoir_metadata/safe.py
index e1d91abb240d0526d2efd86d5983dee9efef5124..708a3c2f93ee43c20043f8daa49dbd1a6a875280 100644
--- a/lib/hachoir_metadata/safe.py
+++ b/lib/hachoir_metadata/safe.py
@@ -1,4 +1,4 @@
-from hachoir_core.error import HACHOIR_ERRORS, warning
+from lib.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 41da41407b80b7773ffa05fd8b1dd5ea23e8bf87..77ecf66886e199f59d5bd1888bd3c7ecfde3d8e2 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 hachoir_core.language import Language
+from lib.hachoir_core.language import Language
 from locale import setlocale, LC_ALL
 from time import strptime
-from hachoir_metadata.timezone import createTimezone
-from hachoir_metadata import config
+from lib.hachoir_metadata.timezone import createTimezone
+from lib.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 215ef225a667caead77b5abad687ed2b13fdcda7..e7cdc682347ec00da04a761bd17638d18d240878 100644
--- a/lib/hachoir_metadata/video.py
+++ b/lib/hachoir_metadata/video.py
@@ -1,14 +1,14 @@
-from hachoir_core.field import MissingField
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_core.field import MissingField
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-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 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 datetime import timedelta
 
 class MkvMetadata(MultipleMetadata):
diff --git a/lib/hachoir_parser/__init__.py b/lib/hachoir_parser/__init__.py
index 1b9860abb7cfff7bd2666b8cf8aeac9d0f237974..0d1e04699633e25a96979e3ed6b9ddb0a99f11aa 100644
--- a/lib/hachoir_parser/__init__.py
+++ b/lib/hachoir_parser/__init__.py
@@ -1,7 +1,7 @@
-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,
+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,
     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 ecd09e8f8b2968459bf6202c6003cb42a1efc5cf..86fbb9eba2dff9e36a6b73f4d37f276268b63ee7 100644
--- a/lib/hachoir_parser/archive/__init__.py
+++ b/lib/hachoir_parser/archive/__init__.py
@@ -1,12 +1,12 @@
-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
+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
 
diff --git a/lib/hachoir_parser/archive/ace.py b/lib/hachoir_parser/archive/ace.py
index 03652920f1878dca539c92c47a511fba84ed56c7..ff65bbb643768d941c05a6be4467e6a97a3f9e0b 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, NullBits, RawBytes, Enum,
     UInt8, UInt16, UInt32,
     PascalString8, PascalString16, String,
     TimeDateMSDOS32)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.msdos import MSDOSFileAttr32
+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
 
 MAGIC = "**ACE**"
 
diff --git a/lib/hachoir_parser/archive/ar.py b/lib/hachoir_parser/archive/ar.py
index 421cdc53c2e16daa30eec9f9aa7bf3275e32fd64..e314e9a1dfb8cf8a7e9aed2fe41be2bed7931a3d 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes, UnixLine)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.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 bec1d0e1cdaec315c67081bb627e210683400562..50760b7dfdb6babf772c18dae299ae1a689035b5 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 hachoir_parser import Parser
-from hachoir_core.field import (ParserError, String,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, String,
     Bytes, Character, UInt8, UInt32, CompressedField)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 856b01eebc46c60479f29e9722f92e88988e5cd6..ef6ab7c7255db9e0abfa2ed0bd8e0e4da9910b1b 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     CString, String,
     UInt16, UInt32, Bit, Bits, PaddingBits, NullBits,
     DateTimeMSDOS32, RawBytes)
-from hachoir_parser.common.msdos import MSDOSFileAttr16
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.endian import LITTLE_ENDIAN
+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
 
 MAX_NB_FOLDER = 30
 
diff --git a/lib/hachoir_parser/archive/gzip_parser.py b/lib/hachoir_parser/archive/gzip_parser.py
index c0820332c061691ea781500b01b5035abe6b35e3..5f63cbc1460abd8c86c0435dfa1c9c48719d840a 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 hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     UInt8, UInt16, UInt32, Enum, TimestampUnix32,
     Bit, CString, SubFile,
     NullBits, Bytes, RawBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.deflate import Deflate
+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
 
 class GzipParser(Parser):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/archive/mar.py b/lib/hachoir_parser/archive/mar.py
index 6a7e31a768f55d80658ca1ea6dd46f5045b7846f..05be1cbd4216018e22d655757f7e67418d034763 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 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
+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
 
 class FileIndex(FieldSet):
     static_size = 68*8
diff --git a/lib/hachoir_parser/archive/rar.py b/lib/hachoir_parser/archive/rar.py
index 2be5887c482028dda13aa33077f6ea2d235f905a..166ae0417d11b998853d12fb8c67bd45840641bb 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, Enum,
     UInt8, UInt16, UInt32, UInt64,
     String, TimeDateMSDOS32,
     NullBytes, NullBits, RawBytes)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.msdos import MSDOSFileAttr32
+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
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/archive/rpm.py b/lib/hachoir_parser/archive/rpm.py
index ccb8d2e58f7096a083e510d1cdbe8a64a48a2c6c..60235755b8d0fc6bbdafc4a7c5598c8485892ac4 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, UInt64, Enum,
     NullBytes, Bytes, RawBytes, SubFile,
     Character, CString, String)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_parser.archive.gzip_parser import GzipParser
-from hachoir_parser.archive.bzip2_parser import Bzip2Parser
+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
 
 class ItemContent(FieldSet):
     format_type = {
diff --git a/lib/hachoir_parser/archive/sevenzip.py b/lib/hachoir_parser/archive/sevenzip.py
index 7a0148f5f86b13c63c27591322a11236acd91377..91f9716c54287b751ae754854b14f84ce2e4afa2 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 hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, ParserError,
     GenericVector,
     Enum, UInt8, UInt32, UInt64,
     Bytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 08a9040be689fc6c3cded8ad2302b7e2495a2256..bd2dc1ad2e0c53db62f1308b4da9c2043c2e09fc 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Enum, UInt8, SubFile, String, NullBytes)
-from hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
+from lib.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 b3cd54a59965c2d6092075077f8c6ee298fa91fc..98a41293db30bbcf81245ddca1200a021e1ccaf2 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, Enum,
     TimeDateMSDOS32, SubFile,
     UInt8, UInt16, UInt32, UInt64,
     String, PascalString16,
     RawBytes)
-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
+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
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/8svx.py b/lib/hachoir_parser/audio/8svx.py
index 109d03dae0348e4ab3d446e2ff16d98b316aea5c..16d0f7030178e9e13234900ee16db3e31c67fef6 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-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
+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
 
 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 1cc33a23540a5b246fe7a64feff523fe16bc7222..0c6ac749fceabf651c083a76bfcadcb7d51d526a 100644
--- a/lib/hachoir_parser/audio/__init__.py
+++ b/lib/hachoir_parser/audio/__init__.py
@@ -1,12 +1,12 @@
-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
+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
 
diff --git a/lib/hachoir_parser/audio/aiff.py b/lib/hachoir_parser/audio/aiff.py
index d8f41696715be935615bcb52d64e62f34b59cf66..89c7e61b05bf507fd1b13fe461e546e3f93bbd03 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-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
+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
 
 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 ab9d9c11a53d3533ad1f97d1c04d98e00440e2c1..59b2f8e2990a8afc27be235b0a52accb5e7c36a1 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 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
+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
 
 class AuFile(Parser):
     PARSER_TAGS = {
diff --git a/lib/hachoir_parser/audio/flac.py b/lib/hachoir_parser/audio/flac.py
index f739ff70d24635826bcf0d76af520ce019c18470..a30c6b00de7cf6f55ecfad95aee6eef0045943ae 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 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
+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
 
 class VorbisComment(FieldSet):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/audio/id3.py b/lib/hachoir_parser/audio/id3.py
index 3cfda25f9436dc76ca6ba5cc61c35210b4e88562..9616baa2d1ec4739708eda766000fdf6ebf6c4e0 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 hachoir_core.field import (FieldSet, MatchError, ParserError,
+from lib.hachoir_core.field import (FieldSet, MatchError, ParserError,
     Enum, UInt8, UInt24, UInt32,
     CString, String, RawBytes,
     Bit, Bits, NullBytes, NullBits)
-from hachoir_core.text_handler import textHandler
-from hachoir_core.tools import humanDuration
-from hachoir_core.endian import NETWORK_ENDIAN
+from lib.hachoir_core.text_handler import textHandler
+from lib.hachoir_core.tools import humanDuration
+from lib.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 3472d2d85738a2221097d54db88443b14b301bb1..76b4f936cdcfb934d2d64700952b618aeaa77b0d 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampMac32,
     String, Float32, NullBytes, Enum)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanDuration
-from hachoir_core.text_handler import displayHandler, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanDuration
+from lib.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 01da22893f39ddcfe3dce8a95cecd422907aa7b5..5382f2ddf90b7f8cbe264cc2f666e745b42472e2 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Bits, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Bits, ParserError,
     String, UInt32, UInt24, UInt16, UInt8, Enum, RawBytes)
-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
+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
 
 MAX_FILESIZE = 10 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/mod.py b/lib/hachoir_parser/audio/mod.py
index 75025e0cdf9fd4fa11f0808a595e2a1aed2201fb..5ed300f076792dced368957f9594be8e6dbad0cf 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bits, UInt16, UInt8,
     RawBytes, String, GenericVector)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 d0ea0ff47397ccc67020b7ec6eb0de80103210d7..6790bc03887dde0c771b27cb7a156ee48fdc6d92 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 hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     UInt32, UInt16, UInt8, Int8, Float32,
     RawBytes, String, GenericVector, ParserError)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 04e7d327af616951816237e7c2d952dc1c355be5..b6f2ba91865c0af2870e862c64e70e4eadb8c44d 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     MissingField, ParserError, createOrphanField,
     Bit, Bits, Enum,
     PaddingBits, PaddingBytes,
     RawBytes)
-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
+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
 
 # 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 289ed6e1ebbbb0796bd467be1467c2872c9b5b09..5a2100e66edd471273094f69116da0cccba93171 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32,
     Bytes, RawBytes, String,
     PascalString8)
-from hachoir_core.tools import humanFrequency
-from hachoir_core.text_handler import displayHandler
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import humanFrequency
+from lib.hachoir_core.text_handler import displayHandler
+from lib.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 1b2a73260fed885603e460dcfab8329bd0ef6cf9..c03d72a05458f0d65fefe06584623839ba84faa9 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet, Field,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet, Field,
     Bit, Bits,
     UInt32, UInt16, UInt8, Enum,
     PaddingBytes, RawBytes, NullBytes,
     String, GenericVector, ParserError)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import alignValue
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.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 0b13b41f209c5800919cb6f4320656fccdaee97e..17fd28e0e48e5455139364b306c298668aed3de9 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, RawBits, Bits,
     UInt32, UInt16, UInt8, Int8, Enum,
     RawBytes, String, GenericVector)
-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
+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
 
 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 df9c2e0a021d8efb87d4013eca07ce4baad07729..ee369a29e210579c73ce508625bf61459286e50d 100644
--- a/lib/hachoir_parser/common/deflate.py
+++ b/lib/hachoir_parser/common/deflate.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import CompressedField
+from lib.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 addd149596171dc23a2e580310fddf0771026a4a..e16920b7cdb71619f092ea2add17ab20eab11746 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 hachoir_core.field import StaticFieldSet
-from hachoir_core.field import Bit, NullBits
+from lib.hachoir_core.field import StaticFieldSet
+from lib.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 177190ec0d9f3f73d307c3fbcdabbc8ee829672b..07a02f561932034af53f789ae19e48e93602bdf8 100644
--- a/lib/hachoir_parser/common/win32.py
+++ b/lib/hachoir_parser/common/win32.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Enum, String, Bytes, Bits, TimestampUUID60)
-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
+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
 
 # 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 6fd7d3edae2156a4cd43e5c3dbadd7bb392d47dd..ff22d57a59d276820eaebc14c8279c02dc60ab18 100644
--- a/lib/hachoir_parser/container/__init__.py
+++ b/lib/hachoir_parser/container/__init__.py
@@ -1,7 +1,7 @@
-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
+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
 
diff --git a/lib/hachoir_parser/container/action_script.py b/lib/hachoir_parser/container/action_script.py
index 6769ac114ea4f988c62a858dc06f037dbe784835..747f772f4775944fbf2919a7ce8943b1e489a2d0 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 hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, Int16, UInt16, Float32, CString,
     RawBytes)
-#from hachoir_core.field import Field
-from hachoir_core.field.float import FloatExponent
+#from lib.hachoir_core.field import Field
+from lib.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 dfac847b314453a4a3ae7e4bde178bbc2f07b0db..d1c3d1137a22f475e07d0a5f05ce12db739c35b0 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, UInt8, GenericInteger, String,
     Field, Enum, RawBytes)
-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
+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
 
 # --- Field parser ---
 
diff --git a/lib/hachoir_parser/container/mkv.py b/lib/hachoir_parser/container/mkv.py
index 4e90f460e57680050237e1dc86d15af0618ea8c3..65230d61dd5b58cd603baaf51b3aabad8d71fed5 100644
--- a/lib/hachoir_parser/container/mkv.py
+++ b/lib/hachoir_parser/container/mkv.py
@@ -4,18 +4,18 @@
 # Created: 8 june 2006
 #
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Link,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Link,
     MissingField, ParserError,
     Enum as _Enum, String as _String,
     Float32, Float64,
     NullBits, Bits, Bit, RawBytes, Bytes,
     Int16, GenericInteger)
-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 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 datetime import datetime, timedelta
 
 class RawInt(GenericInteger):
diff --git a/lib/hachoir_parser/container/ogg.py b/lib/hachoir_parser/container/ogg.py
index fa2d26cba99c6ab1e50b668aae02ec8f4eaaf2da..82b961d0a9de135ab26efa1f34a3e6e98e2d1abd 100644
--- a/lib/hachoir_parser/container/ogg.py
+++ b/lib/hachoir_parser/container/ogg.py
@@ -4,15 +4,15 @@
 # Created: 10 june 2006
 #
 
-from hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, createOrphanField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, createOrphanField,
     NullBits, Bit, Bits, Enum, Fragment, MissingField, ParserError,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     RawBytes, String, PascalString32, NullBytes)
-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
+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
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/container/realmedia.py b/lib/hachoir_parser/container/realmedia.py
index 45c8173bbb6ab32e94abd8b42ac3ec55ee9ce0e5..337be9b03fde6964dfae3b900556684ca80fe185 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Bit, RawBits,
     RawBytes, String, PascalString8, PascalString16)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.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 a5e4fc0ac10c6275abc5bd2c8bae7a7f3ac1ac75..d5e96b9312873b5f396a18010caddd4d11bd8888 100644
--- a/lib/hachoir_parser/container/riff.py
+++ b/lib/hachoir_parser/container/riff.py
@@ -29,17 +29,17 @@ Thanks to:
      format information
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     Bit, NullBits, NullBytes,
     RawBytes, String, PaddingBytes,
     SubFile)
-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 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 datetime import timedelta
 
 def parseText(self):
diff --git a/lib/hachoir_parser/container/swf.py b/lib/hachoir_parser/container/swf.py
index 951c62192c83cca88fedd57759d4c19d85714071..4c0e5d69e394ab9b36d7d5d193ca38394b60ac7c 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, UInt16, CString, Enum,
     Bytes, RawBytes, NullBits, String, SubFile)
-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
+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
 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 863aae3acef75a373851d81ccaf3bd128117498b..92c82d262181c3d5371b1445572b528004121291 100644
--- a/lib/hachoir_parser/file_system/__init__.py
+++ b/lib/hachoir_parser/file_system/__init__.py
@@ -1,8 +1,8 @@
-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
+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
 
diff --git a/lib/hachoir_parser/file_system/ext2.py b/lib/hachoir_parser/file_system/ext2.py
index 634fe0634798458551f15866dcc702c9c2cf54e6..8b19b46bac1201df37fdaabb62976d4acf225f5d 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt16, UInt32,
     Enum, String, TimestampUnix32, RawBytes, NullBytes)
-from hachoir_core.tools import (alignValue,
+from lib.hachoir_core.tools import (alignValue,
     humanDuration, humanFilesize)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 2aebe175f538a59abfb82c989e3a10148656988c..fc0ae6cb93a2f86f3d04aaec7155396631c8418e 100644
--- a/lib/hachoir_parser/file_system/fat.py
+++ b/lib/hachoir_parser/file_system/fat.py
@@ -1,14 +1,14 @@
-from hachoir_core.compatibility import sorted
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet,
+from lib.hachoir_core.compatibility import sorted
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
     RawBytes, PaddingBytes, createPaddingField, Link, Fragment,
     Bit, Bits, UInt8, UInt16, UInt32,
     String, Bytes, NullBytes)
-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
+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
 import datetime
 import re
 
diff --git a/lib/hachoir_parser/file_system/iso9660.py b/lib/hachoir_parser/file_system/iso9660.py
index 3d93593a9d4b5a81ce1a79f3ebb4345024126867..9fc0dc9f88a9265043b248c25e969658e486734d 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt32, UInt64, Enum,
     NullBytes, RawBytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.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 ea2e0dba0b94a670cff2ea47eae4ae14b58f8049..72fdf90918312e9b1c52e4e46c7fc33d9fac1dff 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 hachoir_parser import Parser
-from hachoir_core.field import (ParserError, GenericVector,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, GenericVector,
     UInt32, String,
     Bytes, NullBytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanFilesize
-from hachoir_core.bits import str2hex
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanFilesize
+from lib.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 d5c366f89abdb7ee65e7a48b8d8bed9c74d093c0..4174fa31ff09f4341f8c23e2e5e34bdd135c1019 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Enum, Bits, UInt8, UInt16, UInt32,
     RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanFilesize
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanFilesize
+from lib.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 efea7e71347fc526cbc1f295c6f8582a4ee08eb9..0710f990c858907d1d39311abc3365b93b833fd3 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64,
     String, Bytes, Bit,
     NullBits, NullBytes, PaddingBytes, RawBytes)
-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
+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
 
 class BiosParameterBlock(FieldSet):
     """
diff --git a/lib/hachoir_parser/file_system/reiser_fs.py b/lib/hachoir_parser/file_system/reiser_fs.py
index e71eb9509358715f2fe1b4b0e09eb2a969fc6717..73933c27a227fc14e6ab6c88b6119dcc1477f6f9 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt16, UInt32, String, RawBytes, NullBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 1b6447b981c9c4787e493053cdd0a2a2f662f937..17f7cd0a3fe0e087bbb310e9903b6e2e194f43b7 100644
--- a/lib/hachoir_parser/game/__init__.py
+++ b/lib/hachoir_parser/game/__init__.py
@@ -1,4 +1,4 @@
-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
+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
diff --git a/lib/hachoir_parser/game/blp.py b/lib/hachoir_parser/game/blp.py
index 218e864014729ca35cf5406530f73124ad78d610..2c81770e735528c2c8ad9347725f67d3cd1165c8 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 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
+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
 
 class PaletteIndex(UInt8):
     def createDescription(self):
diff --git a/lib/hachoir_parser/game/laf.py b/lib/hachoir_parser/game/laf.py
index 4a8e15cfb88da9d7a7857230075917867816b99a..88154629049693db8a803363d1c581d6bf588491 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
         UInt8, UInt16, UInt32, GenericVector)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 b9092f33de3d922198d2f639701b41020d4a83d5..2384261766d1e2d99bbe7a5bbc03f18607600653 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 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
+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
 
 class Chunk(FieldSet):
     tag_info = {
diff --git a/lib/hachoir_parser/game/zsnes.py b/lib/hachoir_parser/game/zsnes.py
index a8f7550614f12b584ec1418284355e7e3b5bf7c7..e11b352846fce4fa5a1baf87b0e259abbbc4b153 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
     UInt8, UInt16, UInt32,
     String, PaddingBytes, Bytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 1f77b48b5f2ad1f614a7d3ba380d9bdccdac35d4..0a7178af2a6a42ba356efdc8a5b39674e4428395 100644
--- a/lib/hachoir_parser/guess.py
+++ b/lib/hachoir_parser/guess.py
@@ -4,10 +4,10 @@ Parser list managment:
 """
 
 import os
-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 _
+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 _
 
 
 class QueryParser(object):
diff --git a/lib/hachoir_parser/image/__init__.py b/lib/hachoir_parser/image/__init__.py
index 78c9c20bc10ffa4efa8a9e78fd6b18d3a9a6c7ac..f66ffdd700a9df0515838d293a64477aa1619452 100644
--- a/lib/hachoir_parser/image/__init__.py
+++ b/lib/hachoir_parser/image/__init__.py
@@ -1,12 +1,12 @@
-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
+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
 
diff --git a/lib/hachoir_parser/image/bmp.py b/lib/hachoir_parser/image/bmp.py
index c4865d3bb1145d79e9ce6906f5acfc2059ac1fe2..51c944008fb0b50d24b16d4f0985fce507776a8e 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, Bits,
     String, RawBytes, Enum,
     PaddingBytes, NullBytes, createPaddingField)
-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
+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
 
 class Pixel4bit(Bits):
     static_size = 4
diff --git a/lib/hachoir_parser/image/common.py b/lib/hachoir_parser/image/common.py
index 5046058a7bad8b1b00d2f347bf134ca9a39a7bc3..ca7152a32da9d6c9271ce379403dc3d4ba2a3118 100644
--- a/lib/hachoir_parser/image/common.py
+++ b/lib/hachoir_parser/image/common.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import FieldSet, UserVector, UInt8
+from lib.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 7b867933310f3b7aa2b860f150396c6ef7b3683a..dcaaf77e9395bcce7dbfaaccae73748746307821 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 hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     Int32, Enum, String,
     Bytes, SubFile,
     NullBytes, createPaddingField)
-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
+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
 
 MAX_COUNT = 1000
 
diff --git a/lib/hachoir_parser/image/gif.py b/lib/hachoir_parser/image/gif.py
index c7e0b89c33ba4c1c0b451e6b9c91dee5dc6f3b98..777ba65869624b7262376437996a643faa6605ee 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Enum, UInt8, UInt16,
     Bit, Bits, NullBytes,
     String, PascalString8, Character,
     NullBits, RawBytes)
-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
+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
 
 # 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 193a81c62cec9ea28c6ae6b976ef081c3f9afee6..fc4282d70a84de9a57e30234b1b48d31a5f20ef1 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum, RawBytes)
-from hachoir_parser.image.common import PaletteRGBA
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.win32 import BitmapInfoHeader
+from lib.hachoir_parser.image.common import PaletteRGBA
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 6727de7f4504fda0386a889835a65da89daa1bff..c814ed7d9f2600f2dcfde5fcc4db6f308c6257f6 100644
--- a/lib/hachoir_parser/image/iptc.py
+++ b/lib/hachoir_parser/image/iptc.py
@@ -11,9 +11,9 @@ Sources:
 Author: Victor Stinner
 """
 
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, String, RawBytes, NullBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.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 30944aae724ca276475ea47a23a535b4ba9e1b27..899657885bfcda2b8ee6e9d362ab13c9a97b78c3 100644
--- a/lib/hachoir_parser/image/jpeg.py
+++ b/lib/hachoir_parser/image/jpeg.py
@@ -12,17 +12,17 @@ Information:
 Author: Victor Stinner
 """
 
-from hachoir_core.error import HachoirError
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.error import HachoirError
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, Enum,
     Bit, Bits, NullBits, NullBytes,
     String, RawBytes)
-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
+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
 
 MAX_FILESIZE = 100 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/image/pcx.py b/lib/hachoir_parser/image/pcx.py
index cb2a63bf0c022050c1a5216b781b5ff9d0a9d1dc..cf23a7cb1fffcf52723bb90ba8d46269f1eeab35 100644
--- a/lib/hachoir_parser/image/pcx.py
+++ b/lib/hachoir_parser/image/pcx.py
@@ -2,13 +2,13 @@
 PCX picture filter.
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     UInt8, UInt16,
     PaddingBytes, RawBytes,
     Enum)
-from hachoir_parser.image.common import PaletteRGB
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.image.common import PaletteRGB
+from lib.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 be660cec0c76fcecbd950bd85cb959400c9093f9..89670bcb5e044b2db07359f4435f8524c442a0d5 100644
--- a/lib/hachoir_parser/image/photoshop_metadata.py
+++ b/lib/hachoir_parser/image/photoshop_metadata.py
@@ -1,11 +1,11 @@
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     String, CString, PascalString8,
     NullBytes, RawBytes)
-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
+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
 
 class Version(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/image/png.py b/lib/hachoir_parser/image/png.py
index 66f1688e5ca630a2c7f116a984d0629ed77cd543..6ef8fd8e92d9896e264636e4b24bc8467f6ba962 100644
--- a/lib/hachoir_parser/image/png.py
+++ b/lib/hachoir_parser/image/png.py
@@ -8,18 +8,18 @@ Documents:
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Fragment,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Fragment,
     ParserError, MissingField,
     UInt8, UInt16, UInt32,
     String, CString,
     Bytes, RawBytes,
     Bit, NullBits,
     Enum, CompressedField)
-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 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 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 6ea09fb182252f34a88de2a25f31728cefc51dae..5eb8f76ef3104581bc295af924af64cb1c357fb9 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, String, NullBytes, Enum, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_parser.image.photoshop_metadata import Photoshop8BIM
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 716ab28a509e9d3a2306a4c8cac6d09609117359..b1d699f8bfce2dbcf3e8c0bb610602daa0c2ee62 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 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
+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
 
 class Line(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/image/tiff.py b/lib/hachoir_parser/image/tiff.py
index a096212f50ba279f1188f4cf449e4f46c913e936..ceeba5376dbc8a8814d4f20f5991ede975c047a3 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
     UInt16, UInt32, Bytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_parser.image.exif import BasicIFDEntry
-from hachoir_core.tools import createDict
+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
 
 MAX_COUNT = 250
 
diff --git a/lib/hachoir_parser/image/wmf.py b/lib/hachoir_parser/image/wmf.py
index 86f9840b7201f26e6bddf954d492732bfcdf145e..c45b530a8a5c981874d96c41d4eb9b21edd9fa20 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
     MissingField, ParserError,
     UInt32, Int32, UInt16, Int16, UInt8, NullBytes, RawBytes, String)
-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
+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
 
 POLYFILL_MODE = {1: "Alternate", 2: "Winding"}
 
diff --git a/lib/hachoir_parser/image/xcf.py b/lib/hachoir_parser/image/xcf.py
index f0bfa30ca4382e87ab0e26b7d7e1a83eb2d70729..e365001f632836c9770365616246d59c6c4b513e 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
     UInt8, UInt32, Enum, Float32, String, PascalString32, RawBytes)
-from hachoir_parser.image.common import RGBA
-from hachoir_core.endian import NETWORK_ENDIAN
+from lib.hachoir_parser.image.common import RGBA
+from lib.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 10e98bb2f4020e721d9a74891ad6989244cefadd..938d4aa5f5e98bcde098f0a22a0d3714507c3abf 100644
--- a/lib/hachoir_parser/misc/__init__.py
+++ b/lib/hachoir_parser/misc/__init__.py
@@ -1,14 +1,14 @@
-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
+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
 
diff --git a/lib/hachoir_parser/misc/bplist.py b/lib/hachoir_parser/misc/bplist.py
index c46345e37ebd1513beb532155f61c904c4cccaa0..22282790e02d8823c6168adfe9bd5d1b3b78f1d5 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 hachoir_parser import HachoirParser
-from hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
 Bits, GenericInteger, Float32, Float64, UInt8, UInt64, Bytes, NullBytes, RawBytes, String)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import displayHandler
-from hachoir_core.tools import humanDatetime
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import displayHandler
+from lib.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 6bff555098b99696b1f60495873ab8932b60e776..3a158e546baa832f97028741e379cdbe7653804e 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 hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, ParserError,
     Int32, UInt32, UInt64,
     RawBytes, PaddingBytes,
     Enum, String)
-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
+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
 
 class CWord(Field):
     """
diff --git a/lib/hachoir_parser/misc/common.py b/lib/hachoir_parser/misc/common.py
index 38d9f823706bd1c72aa120cfc5d470110045ebff..b73c82128568efc146be751ba7293d2e980d72be 100644
--- a/lib/hachoir_parser/misc/common.py
+++ b/lib/hachoir_parser/misc/common.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import StaticFieldSet, Float32
+from lib.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 3108d0ae076e52070517f22ff8433d0c24bba06d..3d909d56c6a01acad00646b2427feac879c63df2 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt32, Int32, String, Float32,
     RawBytes, PaddingBytes)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_parser.misc.common import Vertex, MapUV
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.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 aaf4fbf491afd10a02cd94d24932f4fb34945d66..de05fa949d8da56fb27e4c763fb90bc2ef3b7557 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 hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     UInt16, UInt32, RawBytes, Enum, CString)
-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
+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
 
 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 0bade36f5ea26fe56747b0048560890df3ed7c70..56b26a67352dce7ebc8fbe92801eafba6cda51bf 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 hachoir_core.tools import paddingSize
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.tools import paddingSize
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bit, NullBits, NullBytes,
     UInt8, UInt32, String, RawBytes, Enum,
     TimestampUnix64, CompressedField,
     SubFile)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.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 167dc7a6be21b27e3619616d821adc7fb8aaf4b6..24da2077559c430490e370dd1ccd149340d913d7 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bits, Int32, UInt16, UInt32,
     NullBytes, RawBytes, PaddingBytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import (textHandler, hexadecimal,
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 6e67bf1b07d06972ad04f212e9055d8f450cbd12..b0512baaf0279f6cc20a2cd20bb9a3752ee93240 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     CString, String,
     UInt32, UInt16, UInt8,
     Bit, Bits, PaddingBits,
     TimestampWin64, DateTimeMSDOS32,
     NullBytes, PaddingBytes, RawBytes, Enum)
-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.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.tools import paddingSize
+from lib.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 90ca1ca7add823678877e04a3cbadc7c5106ccb3..960ec8253b139c4935fe2244e7ebc6ca0786281e 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 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
+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
 
 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 dd3234af12b321e01833b977d5aa50a616526546..4199934f4f477a1ff07efeca3e608247202e1de0 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 hachoir_parser import HachoirParser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import HachoirParser
+from lib.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 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
+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
 
 MAX_SECTION_COUNT = 100
 
diff --git a/lib/hachoir_parser/misc/ole2.py b/lib/hachoir_parser/misc/ole2.py
index 112b22b2d8bec1e3f7d8694eccacd6533cb67b12..48200d91091018aa310bd1ebb5b88e5ddbc2d138 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 hachoir_parser import HachoirParser
-from hachoir_core.field import (
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import (
     FieldSet, ParserError, SeekableFieldSet, RootSeekableFieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64, Enum,
     Bytes, RawBytes, NullBytes, String)
-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
+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
 
 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 8d116bbafe378dccb8127ea64349ab35bdca0e1c..163c1f3ca5ce43bfba890c36e5b5bad69f659ade 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt32, Bytes, RawBytes, NullBytes,
     Bit, Bits, PaddingBits, CString)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.tools import paddingSize
+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
 
 class TOC(FieldSet):
     TYPE_NAME = {
diff --git a/lib/hachoir_parser/misc/pdf.py b/lib/hachoir_parser/misc/pdf.py
index e69ba85e3ff831fd670aafad3c85e8a5ccf91158..591e953c7f4d64daa949cde2b7b1304c33ab85ee 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 hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     Field, FieldSet,
     ParserError,
     GenericVector,
     UInt8, UInt16, UInt32,
     String,
     RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 d947473316467ae74c1f5d2ebbb039af5478f51e..e60e651e721f4983837f27b55d3844330fdd6d36 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt24, UInt32, UInt64, Enum,
     CString, String, PaddingBytes, RawBytes, NullBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import paddingSize, humanFilesize
-from hachoir_parser.common.win32 import GUID
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import paddingSize, humanFilesize
+from lib.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 88a1bea2f349e60e01f8f836f8b320035e5fc1ef..62653271dd4cf3eba938e3322259dbcf772dc631 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import makePrintable, timestampUNIX, humanFilesize
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 f1024aabc794f69900de372116096f220f13bcb9..3a698ad16265fa0d66426fe7069122bae326d14c 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, Bit, Bits,
     PaddingBits, NullBytes,
     String, RawBytes, Bytes, Enum,
     TimestampMac32)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 88de4c297ec4d4ba071a6ba447e382f5dba7d9c5..8c9df549e999b6d4c840c420592c413ecf3fdbee 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bit, Bits,
     UInt8, Int16, UInt16, UInt32, Int32,
     NullBytes, RawBytes, PascalString16,
     DateTimeMSDOS32)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.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 a7fe24734553b0981d39f5a29a7359a4a8bdc3c0..0781e00fc1083e8756af9500c037a44d2ac95ace 100644
--- a/lib/hachoir_parser/network/__init__.py
+++ b/lib/hachoir_parser/network/__init__.py
@@ -1,2 +1,2 @@
-from hachoir_parser.network.tcpdump import TcpdumpFile
+from lib.hachoir_parser.network.tcpdump import TcpdumpFile
 
diff --git a/lib/hachoir_parser/network/common.py b/lib/hachoir_parser/network/common.py
index d6e9feaa61cfd52166c1950a482a467a2d4b2319..bc049b6b340cbc8814318524146d2aa9733ac843 100644
--- a/lib/hachoir_parser/network/common.py
+++ b/lib/hachoir_parser/network/common.py
@@ -1,7 +1,7 @@
-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 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 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 564e61892ca958fdc59b4972a5774138e6e2a74d..1625c845a59056bf7af4b286fc230c8a60263ba2 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Enum, Bytes, NullBytes, RawBytes,
     UInt8, UInt16, UInt32, Int32, TimestampUnix32,
     Bit, Bits, NullBits)
-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
+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
 
 def diff(field):
     return humanDuration(field.value*1000)
diff --git a/lib/hachoir_parser/parser.py b/lib/hachoir_parser/parser.py
index e81241588be10a954d16ad6e10f818c2215ce3fc..833e8a79e9b1fbff2137daf54f55438cd9dbb1b9 100644
--- a/lib/hachoir_parser/parser.py
+++ b/lib/hachoir_parser/parser.py
@@ -1,8 +1,8 @@
-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 _
+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 _
 from inspect import getmro
 
 
diff --git a/lib/hachoir_parser/parser_list.py b/lib/hachoir_parser/parser_list.py
index 38071550b2566893516bc389312b18a1a18685ea..e59cafee16765b0ffc617689ed4145defffb0d42 100644
--- a/lib/hachoir_parser/parser_list.py
+++ b/lib/hachoir_parser/parser_list.py
@@ -1,8 +1,8 @@
 import re
 import types
-from hachoir_core.error import error
-from hachoir_core.i18n import _
-from hachoir_parser import Parser, HachoirParser
+from lib.hachoir_core.error import error
+from lib.hachoir_core.i18n import _
+from lib.hachoir_parser import Parser, HachoirParser
 import sys
 
 ### Parser list ################################################################
diff --git a/lib/hachoir_parser/program/__init__.py b/lib/hachoir_parser/program/__init__.py
index 2e719f02b32505168181c2764a8572938755d339..5dba92d3cf45db89b81ed89346ade882eb3993cc 100644
--- a/lib/hachoir_parser/program/__init__.py
+++ b/lib/hachoir_parser/program/__init__.py
@@ -1,6 +1,6 @@
-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
+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
 
diff --git a/lib/hachoir_parser/program/elf.py b/lib/hachoir_parser/program/elf.py
index 3d5731e2244d0f245931454c38a6c420c1125ba7..7c66ca2820b5e949547a1c1240682ef07cacccf7 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     String, Bytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.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 5a7bc72769195c154909fa8e678188d498ca02ae..531b89febc0522ec2c309893247e905764abc76c 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 hachoir_parser import HachoirParser
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.field import (FieldSet, RootSeekableFieldSet,
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.field import (FieldSet, RootSeekableFieldSet,
     UInt16, UInt32, String,
     RawBytes, PaddingBytes)
-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
+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
 
 MAX_NB_SECTION = 50
 
diff --git a/lib/hachoir_parser/program/exe_ne.py b/lib/hachoir_parser/program/exe_ne.py
index cf62e885da2e9e69b30fffe3f4b0bb15680a5a4d..b4dbe395be5759fd58d783cc72fdd8b4912bbfe7 100644
--- a/lib/hachoir_parser/program/exe_ne.py
+++ b/lib/hachoir_parser/program/exe_ne.py
@@ -1,7 +1,7 @@
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     Bit, UInt8, UInt16, UInt32, Bytes,
     PaddingBits, PaddingBytes, NullBits, NullBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.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 b3b241a58f84a2ce1ed8a1a408ae84895b4423c7..c8fa101ce5ad0f583edd665a1a746f5b017850f3 100644
--- a/lib/hachoir_parser/program/exe_pe.py
+++ b/lib/hachoir_parser/program/exe_pe.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, UInt8, UInt16, UInt32, TimestampUnix32,
     Bytes, String, Enum,
     PaddingBytes, PaddingBits, NullBytes, NullBits)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.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 850fcf018515995ca48a54f42cdf48dce2d00375..22b25d0e186dcfe42f1d8a616a594e5e4b7d86a7 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 hachoir_core.field import (FieldSet, ParserError, Enum,
+from lib.hachoir_core.field import (FieldSet, ParserError, Enum,
     Bit, Bits, SeekableFieldSet,
     UInt16, UInt32, TimestampUnix32,
     RawBytes, PaddingBytes, NullBytes, NullBits,
     CString, String)
-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
+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
 
 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 7329cbe07aa08bc54a7368a38f84116cdeaa1f19..2e58552c3bd3f9376feaf508b3aa81b800578cf2 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 hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
         ParserError, FieldSet, StaticFieldSet,
         Enum, RawBytes, PascalString16, Float32, Float64,
         Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64,
         Bit, NullBits )
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import paddingSize
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.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 f4db0254ceb1da5a6ce6dd9a62955f212cd1e72b..19db7885886d9ad65d49753fd98f8020877f046f 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, TimestampMac32,
     String, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.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 6eea32bc7db1c611dde7b5f8a71cf633c657c703..5075f7f67fcc2cda246eca1afd61c4974c5e6a90 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, UInt8,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, UInt8,
     UInt16, Int32, UInt32, Int64, ParserError, Float64, Enum,
     Character, Bytes, RawBytes, PascalString8, TimestampUnix32)
-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
+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
 if DISASSEMBLE:
     from dis import dis
 
diff --git a/lib/hachoir_parser/template.py b/lib/hachoir_parser/template.py
index 836215c1217b625c697f637a24580e889d39b6cb..0df480ebd87652fe1eb8f0b1ee5be1f50fbc1800 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 hachoir_parser import Parser
-from hachoir_core.field import (ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError,
     UInt8, UInt16, UInt32, String, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.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 26f787e9589f668688265e7a08f5d8791f20191e..1fabf92a7e3450739b243f5f28fd03068979a62e 100644
--- a/lib/hachoir_parser/video/__init__.py
+++ b/lib/hachoir_parser/video/__init__.py
@@ -1,6 +1,6 @@
-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
+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
 
diff --git a/lib/hachoir_parser/video/amf.py b/lib/hachoir_parser/video/amf.py
index 496c5c1d6c1c7bdb9e6c94edf5a424b364e870af..963f3207be40182e39c6f1eae0743539797b70c1 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 hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, PascalString16, Float64)
-from hachoir_core.tools import timestampUNIX
+from lib.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 39205ea67f856c7559286eb838a1c976b6bc3f87..35711d09b497682b36428cedb65fc1d311ebdf5b 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, UInt64,
     TimestampWin64, TimedeltaWin64,
     String, PascalString16, Enum,
     Bit, Bits, PaddingBits,
     PaddingBytes, NullBytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import (
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import (
     displayHandler, filesizeHandler)
-from hachoir_core.tools import humanBitRate
+from lib.hachoir_core.tools import humanBitRate
 from itertools import izip
-from hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
-from hachoir_parser.common.win32 import BitmapInfoHeader, GUID
+from lib.hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
+from lib.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 5edbe7ab2a3500f54ddfbd75b7e1f56f93bd9270..c2723d9f280a6970ae5a97c660ca8e10a87fad44 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt24, UInt32, NullBits, NullBytes,
     Bit, Bits, String, RawBytes, Enum)
-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
+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
 
 SAMPLING_RATE = {
     0: ( 5512, "5.5 kHz"),
diff --git a/lib/hachoir_parser/video/mov.py b/lib/hachoir_parser/video/mov.py
index f6b0a8ab6ff1af30bc9582efdd290cb5ee283999..32a81d094f7ce1b8e1bdd66dc1503f278cfb83eb 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 hachoir_parser import Parser
-from hachoir_core.field import (ParserError, FieldSet, MissingField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, FieldSet, MissingField,
     UInt8, Int16, UInt16, UInt32, TimestampMac32,
     String, PascalString8, CString,
     RawBytes, PaddingBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 56b9bc85e02a2abf790af0835b0f575797c400d6..c158dc9e96e60f718aba9de883a95bb28b43563a 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 hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError, MissingField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError, MissingField,
     UInt8, Enum, Bit, Bits, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.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 5a5d51c823b7cb5969322a3976c61f7225c0848c..9545681ec5b2ca94f64d2070ecba2503bbe36ef9 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 hachoir_parser import Parser
-from hachoir_parser.audio.mpeg_audio import MpegAudioFile
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_parser.audio.mpeg_audio import MpegAudioFile
+from lib.hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, RawBits, PaddingBits, NullBits,
     UInt8, UInt16,
     RawBytes, PaddingBytes,
     Enum)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.stream import StringInputStream
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.stream import StringInputStream
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 class FragmentGroup:
     def __init__(self, parser):
diff --git a/lib/oauth2/__init__.py b/lib/oauth2/__init__.py
index a965fc71e4361ab55f02c2b538c93f57820ce974..2b9389096eaa8d68fd4201d237aa8dedeb655367 100644
--- a/lib/oauth2/__init__.py
+++ b/lib/oauth2/__init__.py
@@ -28,7 +28,7 @@ import random
 import urlparse
 import hmac
 import binascii
-import httplib2
+import lib.httplib2 as httplib2
 
 try:
     from urlparse import parse_qs, parse_qsl
diff --git a/lib/pythontwitter/__init__.py b/lib/pythontwitter/__init__.py
index 9e101dc8c51c709e093195f74173f7e8b18f6405..badc70c310cd7b114651d853cd1af9eb81b62eba 100755
--- a/lib/pythontwitter/__init__.py
+++ b/lib/pythontwitter/__init__.py
@@ -42,7 +42,7 @@ try:
 except ImportError:
   try:
     # Python < 2.6
-    import simplejson
+    import lib.simplejson as simplejson
   except ImportError:
     try:
       # Google App Engine
@@ -61,7 +61,7 @@ try:
 except ImportError:
   from md5 import md5
 
-import oauth2 as oauth
+import lib.oauth2 as oauth
 
 
 CHARACTER_LIMIT = 140
diff --git a/lib/simplejson/decoder.py b/lib/simplejson/decoder.py
index 811e7334793259bed8738d15a6c1749eb0e56788..dd57ddeefb690469a34c4c73bfb8790556a8145c 100644
--- a/lib/simplejson/decoder.py
+++ b/lib/simplejson/decoder.py
@@ -4,9 +4,9 @@ import re
 import sys
 import struct
 
-from scanner import make_scanner
+from lib.simplejson.scanner import make_scanner
 try:
-    from _speedups import scanstring as c_scanstring
+    from lib.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 afff9e82510a3f2b35f2eb97e6dc8f2bf6888538..15c35f7a1b9adfed1d9518dcd2038007033b0e9f 100644
--- a/lib/simplejson/encoder.py
+++ b/lib/simplejson/encoder.py
@@ -3,11 +3,11 @@
 import re
 
 try:
-    from _speedups import encode_basestring_ascii as c_encode_basestring_ascii
+    from lib.simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
 except ImportError:
     c_encode_basestring_ascii = None
 try:
-    from _speedups import make_encoder as c_make_encoder
+    from lib.simplejson._speedups import make_encoder as c_make_encoder
 except ImportError:
     c_make_encoder = None
 
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index 288a46e9f6f1cbf9045e4f482e332f2d0625067c..15839e80a084fd6efbf21cfe4665eefdd677962e 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -41,7 +41,10 @@ except ImportError:
 
 
 # Use local version for sickbeard, system version elsewhere
-import httplib2
+try:
+    import lib.httplib2 as httplib2
+except ImportError:
+    import httplib2
 
 from tvdb_ui import BaseUI, ConsoleUI
 from tvdb_exceptions import (tvdb_error, tvdb_userabort, tvdb_shownotfound,
diff --git a/sickbeard/image_cache.py b/sickbeard/image_cache.py
index 03f9d9e9aff5bfb32f84f427b34bdae682e9043c..091e77b135419d5edb04cb872e2702d2e315428d 100644
--- a/sickbeard/image_cache.py
+++ b/sickbeard/image_cache.py
@@ -26,8 +26,8 @@ from sickbeard import encodingKludge as ek
 
 from sickbeard.metadata.generic import GenericMetadata
 
-from hachoir_parser import createParser
-from hachoir_metadata import extractMetadata
+from lib.hachoir_parser import createParser
+from lib.hachoir_metadata import extractMetadata
 
 class ImageCache: