diff --git a/.gitignore b/.gitignore
index e69de29..567609b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+build/
diff --git a/src/binwalk/magic/compressed b/src/binwalk/magic/compressed
index 06c4571..a969cc7 100644
--- a/src/binwalk/magic/compressed
+++ b/src/binwalk/magic/compressed
@@ -92,7 +92,7 @@
 >7    byte      x                       \b.%d
 
 # standard unix compress
-# Disabled until a python alternative can be foudn for the compress binwalk plugin.
+# Disabled until a python alternative can be found for the compress binwalk plugin.
 #0       string        \x1f\x9d\x90          compress'd data, 16 bits
 
 # http://tukaani.org/xz/xz-file-format.txt
diff --git a/src/binwalk/magic/ecos b/src/binwalk/magic/ecos
index 9c294f4..74e6bd5 100644
--- a/src/binwalk/magic/ecos
+++ b/src/binwalk/magic/ecos
@@ -1,3 +1,11 @@
+# Simple eCos string signatures
+0        string    ecos                    eCos RTOS string reference:
+>0       string    x                       "%s"
+0        string    eCos                    eCos RTOS string reference:
+>0       string    x                       "%s"
+0        string    ECOS                    eCos RTOS string reference:
+>0       string    x                       "%s"
+
 # eCos kernel exception handlers
 #
 # mfc0    $k0, Cause       # Cause of last exception
diff --git a/src/binwalk/magic/filesystems b/src/binwalk/magic/filesystems
index 0425d28..a8e07e7 100644
--- a/src/binwalk/magic/filesystems
+++ b/src/binwalk/magic/filesystems
@@ -590,7 +590,9 @@
 >>4     lelong&0x100        0x100           mode 3
 >4      lelong&0xFFFFFF00   !0              unknown mode {invalid}
 
-18    string            WDK\x202.0\x00    WDK file system, version 2.0
+18      string            WDK\x202.0\x00    WDK file system, version 2.0,
+>11     byte              !0                %d files,
+>4      bedate            !0                Last modified %s GMT
 
 32769   string        CD001                                         ISO
 >6144   string        !NSR0                                         9660 CD-ROM filesystem data,
diff --git a/src/binwalk/magic/firmware b/src/binwalk/magic/firmware
index 54580f0..e84c10d 100644
--- a/src/binwalk/magic/firmware
+++ b/src/binwalk/magic/firmware
@@ -260,8 +260,8 @@
 
 #
 # Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de>
-# Useless until forther improvements can be made to the signature.
-#0   string      S0          Motorola S-Record; binary data in text format
+# Improved by Martin Sundhaug <martinsundhaug@gmail.com>
+0   regex      (S[0-35-9]([0-9A-F]{4})([0-9A-F]{2})+\n)+          Motorola S-Record; binary data in text format
 
 #Windows CE Binary Image Data Format aka B000FF
 #More information on the format:
@@ -446,9 +446,12 @@
 
 # Found in DIR-100 firmware
 0       string      AIH0        AIH0 firmware header, header size: 48,
->12     belong      x           size: %d,
->8      belong      !0          executable code,
->>8     belong      x           load address: 0x%X,
+>12     ubelong     0           {invalid}
+>12     ubelong+48  x           {size:%d}
+>12     ubelong+48  x           size: %d,
+>8      ubelong     !0          executable code,
+>>8     ubelong&3   !0          {invalid}
+>>8     ubelong     x           load address: 0x%X,
 >32     string      x           version: "%s"
 
 0       belong      0x5EA3A417      SEAMA firmware header, big endian,
@@ -497,7 +500,7 @@
 >44     belong      x           size: %d,
 >48     ubelong     x           crc: 0x%.8X,
 >35     byte        x           try decryption tool from:
->35     byte        x           http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/Misc/
+>35     byte        x           http://web.archive.org/web/20130929103301/http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/Misc/
 
 # http://android.stackexchange.com/questions/23357/\
 # is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\
@@ -516,14 +519,6 @@
 0       string    Cobalt\ Networks\ Inc.\nFirmware\ v    Paged Sun/COBALT boot rom,
 >38     string    x                        version: "%.4s"
 
-# Simple eCos string signatures
-0        string    ecos                    eCos RTOS string reference:
->0       string    x                       "%s"
-0        string    eCos                    eCos RTOS string reference:
->0       string    x                       "%s"
-0        string    ECOS                    eCos RTOS string reference:
->0       string    x                       "%s"
-
 # ZyXEL config signatures
 6           string      dbgarea                  ZyXEL rom-0 configuration block, name: "%s",
 >16         ubeshort    x                        compressed size: %d,
@@ -760,3 +755,5 @@
 >56   ulelong    x                                     \b, oem_num_root_certs: %u
 
 
+# Intel HEX
+0   regex      (\:([0-9A-F]{2}){5,}\n)+    Intel HEX
diff --git a/src/binwalk/modules/extractor.py b/src/binwalk/modules/extractor.py
index 4a9f3eb..03bb7a2 100644
--- a/src/binwalk/modules/extractor.py
+++ b/src/binwalk/modules/extractor.py
@@ -784,7 +784,7 @@ class Extractor(Module):
         except KeyboardInterrupt as e:
             raise e
         except Exception as e:
-            binwalk.core.common.warning("Extractor.execute failed to run external extractor '%s': %s" % (str(cmd), str(e)))
+            binwalk.core.common.warning("Extractor.execute failed to run external extractor '%s': %s, '%s' might not be installed correctly" % (str(cmd), str(e), str(cmd)))
             retval = None
 
         if tmp is not None: