diff --git a/extract-files.py b/extract-files.py
index abae8cd..3569682 100755
--- a/extract-files.py
+++ b/extract-files.py
@@ -18,30 +18,69 @@
     ExtractUtilsModule,
 )
 
+
+namespace_imports = [
+    'hardware/qcom-caf/wlan',
+    'vendor/qcom/opensource/commonsys/display',
+    'vendor/qcom/opensource/commonsys-intf/display',
+]
+
 def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
     return f'{lib}_{partition}' if partition == 'vendor' else None
 
 lib_fixups: lib_fixups_user_type = {
     **lib_fixups,
     (
+        'com.qualcomm.qti.dpm.api@1.0',
+        'vendor.qti.diaghal@1.0',
+        'vendor.qti.imsrtpservice@3.0',
     ): lib_fixup_vendor_suffix,
     (
+        'libwpa_client',
     ): lib_fixup_remove,
 }
 
 blob_fixups: blob_fixups_user_type = {
-    ('system_ext/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml',
-     'system_ext/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml'): blob_fixup()
-        .regex_replace('system/product', 'system_ext')
-        .regex_replace('xml version="2.0"', 'xml version="1.0"'),
      ('vendor/bin/vendor.dpmd',
       'vendor/bin/hw/android.hardware.audio.service_64',
       'vendor/bin/hw/vendor.qti.hardware.AGMIPC@1.0-service'): blob_fixup()
         .add_needed('libhidlbase_shim.so'),
+    'vendor/bin/hw/vendor.qti.hardware.memtrack-service': blob_fixup()
+        .replace_needed('android.hardware.memtrack-V1-ndk_platform.so', 'android.hardware.memtrack-V1-ndk.so'),
     ('vendor/bin/hw/android.hardware.security.keymint-service-qti',
+     'vendor/lib/libqtikeymint.so',
      'vendor/lib64/libqtikeymint.so'): blob_fixup()
+        .replace_needed('android.hardware.security.keymint-V1-ndk_platform.so', 'android.hardware.security.keymint-V1-ndk.so')
+        .replace_needed('android.hardware.security.secureclock-V1-ndk_platform.so', 'android.hardware.security.secureclock-V1-ndk.so')
+        .replace_needed('android.hardware.security.sharedsecret-V1-ndk_platform.so', 'android.hardware.security.sharedsecret-V1-ndk.so')
         .add_needed('android.hardware.security.rkp-V1-ndk.so'),
-    ('vendor/etc/media_codecs_cape.xml', 'vendor/etc/media_codecs_cape_vendor.xml'): blob_fixup()
+    'vendor/bin/hw/android.hardware.neuralnetworks-shim-service-qti': blob_fixup()
+        .replace_needed('android.hardware.neuralnetworks-V1-ndk_platform.so', 'android.hardware.neuralnetworks-V1-ndk.so')
+        .replace_needed('android.hardware.common-V2-ndk_platform.so', 'android.hardware.common-V2-ndk.so'),
+    ('vendor/bin/hw/sxrservice',
+     'vendor/lib/libqvrservice.so',
+      'vendor/lib64/libqvrservice.so'): blob_fixup()
+        .replace_needed('vendor.qti.hardware.qxr-V1-ndk_platform.so', 'vendor.qti.hardware.qxr-V1-ndk.so'),
+    ('vendor/bin/hw/android.hardware.identity-service-qti',
+     'vendor/lib/libqtiidentitycredential.so',
+     'vendor/lib64/libqtiidentitycredential.so'): blob_fixup()
+        .replace_needed('android.hardware.identity-V3-ndk_platform.so', 'android.hardware.identity-V3-ndk.so')
+        .replace_needed('android.hardware.keymaster-V3-ndk_platform.so', 'android.hardware.keymaster-V3-ndk.so'),
+    'vendor/lib64/vendor.qti.hardware.qxr-V1-ndk.so': blob_fixup()
+        .replace_needed('android.hardware.common-V2-ndk_platform.so', 'android.hardware.common-V2-ndk.so'),
+    ('vendor/bin/hw/android.hardware.gnss-aidl-service-qti',
+     'vendor/lib/hw/android.hardware.gnss-aidl-impl-qti.so',
+     'vendor/lib64/hw/android.hardware.gnss-aidl-impl-qti.so',
+     'vendor/lib64/libgarden.so',
+     'vendor/lib64/libgarden_haltests_e2e.so'): blob_fixup()
+        .replace_needed('android.hardware.gnss-V1-ndk_platform.so', 'android.hardware.gnss-V1-ndk.so'),
+    ('vendor/bin/libqtr_sdk',
+     'vendor/bin/qcc-trd',
+     'vendor/lib/libqtr_sdk.so',
+     'vendor/lib64/libqtr_sdk.so'): blob_fixup()
+        .replace_needed('libgrpc++_unsecure.so', 'libgrpc++_unsecure_vendor.so'),
+    ('vendor/etc/media_codecs_cape.xml',
+     'vendor/etc/media_codecs_cape_vendor.xml'): blob_fixup()
         .regex_replace('.*media_codecs_(google_audio|google_c2|google_telephony|google_video|vendor_audio).*\n', ''),
     ('vendor/etc/seccomp_policy/atfwd@2.0.policy',
      'vendor/etc/seccomp_policy/modemManager.policy',
@@ -55,6 +94,8 @@
     'vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so': blob_fixup()
         .remove_needed('libhidltransport.so')
         .replace_needed('libhidlbase.so', 'libhidlbase-v32.so'),
+    'vendor/lib64/vendor.libdpmframework.so': blob_fixup()
+        .add_needed('libhidlbase_shim.so'),
 }  # fmt: skip
 
 module = ExtractUtilsModule(
@@ -62,7 +103,7 @@
     'asus',
     blob_fixups=blob_fixups,
     lib_fixups=lib_fixups,
-    check_elf=False,
+    namespace_imports=namespace_imports,
 )
 
 module.add_proprietary_file('proprietary-files-product.txt')
