diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 261296520d989ab1d5dc02d315ea88b42b75096b..78f8afd64a2feaf147f36946baeba2006f606c8a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,111 +31,12 @@ stages:
       - gluon/openwrt/staging_dir
       - gluon/openwrt/feeds
     key: "target-$GLUON_TARGET"
- 
-target:ar71xx-generic:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ar71xx-generic
- 
-target:ar71xx-nand:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ar71xx-nand
- 
-target:ar71xx-tiny:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ar71xx-tiny
- 
-target:brcm2708-bcm2708:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: brcm2708-bcm2708
- 
-target:brcm2708-bcm2709:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: brcm2708-bcm2709
- 
-target:mpc85xx-generic:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: mpc85xx-generic
- 
-target:ipq40xx:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ipq40xx
- 
-target:ramips-mt7621:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ramips-mt7621
- 
-target:ramips-mt76x8:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: ramips-mt76x8
- 
+
 target:x86-generic:
   extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
   variables:
     GLUON_TARGET: x86-generic
  
-target:x86-geode:
-  extends: .target
-  only: 
-    - tags
-    - schedules
-    - web
-  variables:
-    GLUON_TARGET: x86-geode
- 
-target:x86-64:
-  extends: .target
-  variables:
-    GLUON_TARGET: x86-64
-
 package:
   stage: package
   script:
diff --git a/site.mk b/site.mk
index 7c0b5c4f6780928cdacbe3136f6b3f2dadc6c008..834e2f6b48fbeef14bfbb91715dee23d03636de4 100644
--- a/site.mk
+++ b/site.mk
@@ -25,6 +25,96 @@ GLUON_SITE_PACKAGES := \
 	ffs-set-segment \
 	ffs-watchdog
 
+# input devices
+USB_PKGS_HID := \
+	kmod-usb-hid \
+	kmod-hid-generic
+
+# basic support for USB stack
+USB_PACKAGES_BASIC := \
+	kmod-usb-core \
+	kmod-usb2
+
+# storage support for USB devices
+USB_PACKAGES_STORAGE := \
+	block-mount \
+	blkid \
+	kmod-fs-ext4 \
+	kmod-fs-vfat \
+	kmod-usb-storage \
+	kmod-usb-storage-extras \
+	kmod-nls-cp1250 \
+	kmod-nls-cp1251 \
+	kmod-nls-cp437 \
+	kmod-nls-cp775 \
+	kmod-nls-cp850 \
+	kmod-nls-cp852 \
+	kmod-nls-cp866 \
+	kmod-nls-iso8859-1 \
+	kmod-nls-iso8859-13 \
+	kmod-nls-iso8859-15 \
+	kmod-nls-iso8859-2 \
+	kmod-nls-koi8r \
+	kmod-nls-utf8 \
+	swap-utils
+
+# network support for USB devices
+USB_PACKAGES_NET := \
+	kmod-mii \
+	kmod-nls-base \
+	kmod-usb-net \
+	kmod-usb-net-asix \
+	kmod-usb-net-asix-ax88179 \
+	kmod-usb-net-cdc-eem \
+	kmod-usb-net-cdc-ether \
+	kmod-usb-net-cdc-mbim \
+	kmod-usb-net-cdc-ncm \
+	kmod-usb-net-cdc-subset \
+	kmod-usb-net-dm9601-ether \
+	kmod-usb-net-hso \
+	kmod-usb-net-huawei-cdc-ncm \
+	kmod-usb-net-ipheth \
+	kmod-usb-net-kalmia \
+	kmod-usb-net-kaweth \
+	kmod-usb-net-mcs7830 \
+	kmod-usb-net-pegasus \
+	kmod-usb-net-qmi-wwan \
+	kmod-usb-net-rndis \
+	kmod-usb-net-rtl8152 \
+	kmod-usb-net-sierrawireless \
+	kmod-usb-net-smsc95xx
+
+# additional USB network devices (ie Edimax)
+USB_PACKAGES_NET_ADD := \
+	kmod-rtl8192cu \
+	kmod-rtl8187 \
+	kmod-ath9k-htc \
+	kmod-ath9k-common \
+	kmod-ath \
+	kmod-rt73-usb \
+	kmod-carl9170 \
+	kmod-brcmfmac
+
+# network support for PCI devices
+PCI_PACKAGES_NET := \
+	kmod-3c59x \
+	kmod-atl2 \
+	kmod-e100 \
+	kmod-e1000 \
+	kmod-forcedeth \
+	kmod-natsemi \
+	kmod-ne2k-pci \
+	kmod-pcnet32 \
+	kmod-8139too \
+	kmod-r8169 \
+	kmod-sis900 \
+	kmod-sky2 \
+	kmod-tg3 \
+	kmod-tulip \
+	kmod-igb \
+	kmod-via-rhine
+
+
 # add addition network drivers and usb support only to targes where disk space does not matter.
 ifeq ($(GLUON_TARGET),x86-generic)
 GLUON_SITE_PACKAGES += \