diff --git a/src/mio/installer.py b/src/mio/installer.py
index 230bb36fa156da78af6fb49c3e75d992b1ef518b..8d70f2ff2f6d12917e9927c89fb42abdef021eb9 100755
--- a/src/mio/installer.py
+++ b/src/mio/installer.py
@@ -1,4 +1,4 @@
-import mio.rpm
+import mio.rpmDB
 import mio.util
 import mio.yum
 
@@ -142,14 +142,14 @@ class Installer:
 
     def install_rpms(self, path):
         rpm = []
-        version_db = mio.rpm.VersionDB()
+        version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
             r.old_version = version_db[r.name]
             if r.old_version == None:
                 rpm.append(r.name)
         rpm.sort()
         mio.yum.run(path + self.rpmdir, rpm)
-        version_db = mio.rpm.VersionDB()
+        version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
             r.new_version = version_db[r.name]
         
diff --git a/src/mio/parser.py b/src/mio/parser.py
index 46e0ab87252a4b1d588375e558760edb0c2d84d5..8be620b46dd2881107b09d2729889da762dc6021 100755
--- a/src/mio/parser.py
+++ b/src/mio/parser.py
@@ -238,7 +238,7 @@ class AttributeAccessor:
         # Return first declaration within range
         #   attr[start:stop]
         node = self._node
-        i= 0
+        i = 0
         while node and i < last:
             if i >= first:
                 try:
@@ -270,9 +270,9 @@ class AttributeAccessor:
             if index.step == None:
                 # Return first declaration within range
                 #   attr[start:stop]
-                (next,last,stride) = index.indices(sys.maxint)
+                (next,last,stride) = index.indices(10000)
                 node = self._node
-                i= 0
+                i = 0
                 while node and i < last:
                     if i >= next:
                         try:
@@ -285,7 +285,7 @@ class AttributeAccessor:
             else:
                 # Return all declaration within range
                 result = []
-                (next,last,stride) = index.indices(sys.maxint)
+                (next,last,stride) = index.indices(10000)
                 node = self._node
                 i= 0
                 while node and i < last:
diff --git a/src/mio/rpm.py b/src/mio/rpm.py
deleted file mode 100755
index 6060776d95bae5ab04527098e20ca418611882b6..0000000000000000000000000000000000000000
--- a/src/mio/rpm.py
+++ /dev/null
@@ -1,27 +0,0 @@
-try:
-    import rpmUtils
-except:
-    pass
-
-
-class VersionDB:
-    def __init__(self):
-        self.rpm = {}
-        try:
-            rpmdb = rpmUtils.RpmDBHolder()
-            read_ts = rpmUtils.transaction.initReadOnlyTransaction()
-            rpmdb.addDB(read_ts)
-            for (name, arch, epoch, version, release) in  rpmdb.getPkgList():
-                self.rpm[name] = (name, arch, version, release)
-            del rpmdb
-            del read_ts.ts
-            del read_ts
-        except:
-            pass
-
-
-    def __getitem__(self, name):
-        try:
-            return self.rpm[name]
-        except:
-            return None
diff --git a/src/mio/rpmDB.py b/src/mio/rpmDB.py
new file mode 100755
index 0000000000000000000000000000000000000000..ea69d18cdd84fa1ef45fbbecb27b1eea3304340c
--- /dev/null
+++ b/src/mio/rpmDB.py
@@ -0,0 +1,35 @@
+try:
+    import rpmUtils.transaction
+    import rpm
+except:
+    pass
+
+
+class VersionDB:
+    def __init__(self):
+        self.rpm = {}
+        try:
+            #rpmdb = rpmUtils.RpmDBHolder()
+            #read_ts = rpmUtils.transaction.initReadOnlyTransaction()
+            #rpmdb.addDB(read_ts)
+            #for (name, arch, epoch, version, release) in  rpmdb.getPkgList():
+            #    self.rpm[name] = (name, arch, version, release)
+            #del rpmdb
+            #del read_ts.ts
+            #del read_ts
+            read_ts = rpmUtils.transaction.initReadOnlyTransaction()
+            for e in read_ts.dbMatch():
+                (name, arch, version, release) = (
+                    e[rpm.RPMTAG_NAME], e[rpm.RPMTAG_ARCH],
+                    e[rpm.RPMTAG_VERSION], e[rpm.RPMTAG_RELEASE])
+                self.rpm[name] = (name, arch, version, release)
+            del read_ts
+        except:
+            pass
+
+
+    def __getitem__(self, name):
+        try:
+            return self.rpm[name]
+        except:
+            return None
diff --git a/src/mio/yum.py b/src/mio/yum.py
index 41b20d9dd44020744cd1a537f6e350a68b3e7292..78c02453b1c1df8cbb0faa1f25b21b7dfe11921c 100755
--- a/src/mio/yum.py
+++ b/src/mio/yum.py
@@ -92,12 +92,19 @@ def run(path, rpm):
     os.system(update)
 
     # Install new packages
-    if len(rpm) > 0:
-        install = "yum -c %s -e %s -d %s -y install" % (f.name, verb, verb)
-        if len(rpm) > 8 and mio.log.verbosity <= VERBOSE:
-            mio.log.log(NORMAL, "%s %s ... [ %d more ] ... %s" %
-                        (install, rpm[0], len(rpm) - 2, rpm[-1]))
-        else:
-            mio.log.log(NORMAL, "%s %s" % (install, ' '.join(rpm)))
-        
-        os.system("%s %s" % (install, ' '.join(rpm)))
+    install = "yum -c %s -e %s -d %s -y install" % (f.name, verb, verb)
+    i = 0
+    for p in rpm:
+        i += 1
+        mio.log.log(NORMAL, "[%d/%d] %s %s" % (i, len(rpm), install, p))
+        os.system("%s %s" % (install, p))
+
+#    if len(rpm) > 0:
+#        install = "yum -c %s -e %s -d %s -y install" % (f.name, verb, verb)
+#        if len(rpm) > 8 and mio.log.verbosity <= VERBOSE:
+#            mio.log.log(NORMAL, "%s %s ... [ %d more ] ... %s" %
+#                        (install, rpm[0], len(rpm) - 2, rpm[-1]))
+#       else:
+#            mio.log.log(NORMAL, "%s %s" % (install, ' '.join(rpm)))
+#        
+#        os.system("%s %s" % (install, ' '.join(rpm)))