diff --git a/tsk3/img/img_open.c b/tsk3/img/img_open.c
index fbd8f5b3384793e55665841992df3dabf759b69c..f44d13ba6762aa703805d5777ece69cc17f38273 100644
--- a/tsk3/img/img_open.c
+++ b/tsk3/img/img_open.c
@@ -168,90 +168,116 @@ tsk_img_open(int num_img,
         if (img_set != NULL)
             return img_set;
 
-        /* We'll use the (possibly split) raw format.  If the user
-         * specifies only one file and does not want subsequent
-         * segments automatically detected, they'll need to specify
-         * TSK_IMG_TYPE_RAW_SING. */
-        if ((img_info = split_open(num_img, images, a_ssize)) != NULL) {
-            return img_info;
+        // @@@ NEED to modify this so that we find addtl. split images. 
+        // REMOVE NOTION of sing / split RAW.  Just a single object. 
+        /* We'll use the raw format */
+        if (num_img == 1) {
+            if ((img_info = raw_open(images[0], a_ssize)) != NULL) {
+                return img_info;
+            }
+            else if (tsk_error_get_errno() != 0) {
+                return NULL;
+            }
         }
-        else if (tsk_error_get_errno() != 0) {
-            return NULL;
+        else {
+            if ((img_info =
+                    split_open(num_img, images, a_ssize)) != NULL) {
+                return img_info;
+            }
+            else if (tsk_error_get_errno() != 0) {
+                return NULL;
+
+            }
         }
+#if 0
+            // Commented out until split_open has all of the 
+            // platform-specific file size and opening routines
+
+            /* We'll use the (possibly split) raw format.  If the user
+             * specifies only one file and does not want subsequent
+             * segments automatically detected, they'll need to specify
+             * TSK_IMG_TYPE_RAW_SING. */
+            if ((img_info = split_open(num_img, images, a_ssize)) != NULL) {
+                return img_info;
+            }
+            else if (tsk_error_get_errno() != 0) {
+                return NULL;
+            }
+#endif
 
-        /* To improve the error message, verify the file can be read. */
-        if (TSTAT(images[0], &stat_buf) < 0) {
-            // special case to handle windows objects
+            /* To improve the error message, verify the file can be read. */
+            if (TSTAT(images[0], &stat_buf) < 0) {
+                // special case to handle windows objects
 #if defined(TSK_WIN32) || defined(__CYGWIN__)
-            if (TSTRNCMP(_TSK_T("\\\\.\\"), images[0], 4) == 0) {
-                if (tsk_verbose)
-                    TFPRINTF(stderr,
-                        _TSK_T
-                        ("tsk_img_open: Ignoring stat error because of windows object: %s\n"),
-                        images[0]);
-            }
-            else {
+                if (TSTRNCMP(_TSK_T("\\\\.\\"), images[0], 4) == 0) {
+                    if (tsk_verbose)
+                        TFPRINTF(stderr,
+                            _TSK_T
+                            ("tsk_img_open: Ignoring stat error because of windows object: %s\n"),
+                            images[0]);
+                }
+                else {
 #endif
-                tsk_error_reset();
-                tsk_error_set_errno(TSK_ERR_IMG_STAT);
-                tsk_error_set_errstr("%" PRIttocTSK " : %s",
-                    images[0], strerror(errno));
-                return NULL;
+                    tsk_error_reset();
+                    tsk_error_set_errno(TSK_ERR_IMG_STAT);
+                    tsk_error_set_errstr("%" PRIttocTSK " : %s",
+                        images[0], strerror(errno));
+                    return NULL;
 #if defined(TSK_WIN32) || defined(__CYGWIN__)
-            }
+                }
 #endif
+            }
+            tsk_error_reset();
+            tsk_error_set_errno(TSK_ERR_IMG_UNKTYPE);
+            return NULL;
         }
-        tsk_error_reset();
-        tsk_error_set_errno(TSK_ERR_IMG_UNKTYPE);
-        return NULL;
-    }
 
-    /*
-     * Type values
-     */
+        /*
+         * Type values
+         */
 
-    switch (type) {
-    case TSK_IMG_TYPE_RAW_SING:
+        switch (type) {
+        case TSK_IMG_TYPE_RAW_SING:
 
-        /* If we have more than one image name, and raw was the only
-         * type given, then use split */
-        if (num_img > 1)
-            img_info = split_open(num_img, images, a_ssize);
-        else
-            img_info = raw_open(images[0], a_ssize);
-        break;
+            /* If we have more than one image name, and raw was the only
+             * type given, then use split */
+            if (num_img > 1)
+                img_info = split_open(num_img, images, a_ssize);
+            else
+                img_info = raw_open(images[0], a_ssize);
+            break;
 
-    case TSK_IMG_TYPE_RAW_SPLIT:
+        case TSK_IMG_TYPE_RAW_SPLIT:
 
-        /* Even if only one image file is given, assume we should
-         * look for more segments */
-        img_info = split_open(num_img, images, a_ssize);
-        break;
+            /* Even if only one image file is given, assume we should
+             * look for more segments */
+            img_info = split_open(num_img, images, a_ssize);
+            break;
 
 #if HAVE_LIBAFFLIB
-    case TSK_IMG_TYPE_AFF_AFF:
-    case TSK_IMG_TYPE_AFF_AFD:
-    case TSK_IMG_TYPE_AFF_AFM:
-    case TSK_IMG_TYPE_AFF_ANY:
-        img_info = aff_open(images, a_ssize);
-        break;
+        case TSK_IMG_TYPE_AFF_AFF:
+        case TSK_IMG_TYPE_AFF_AFD:
+        case TSK_IMG_TYPE_AFF_AFM:
+        case TSK_IMG_TYPE_AFF_ANY:
+            img_info = aff_open(images, a_ssize);
+            break;
 #endif
 
 #if HAVE_LIBEWF
-    case TSK_IMG_TYPE_EWF_EWF:
-        img_info = ewf_open(num_img, images, a_ssize);
-        break;
+        case TSK_IMG_TYPE_EWF_EWF:
+            img_info = ewf_open(num_img, images, a_ssize);
+            break;
 #endif
 
-    default:
-        tsk_error_reset();
-        tsk_error_set_errno(TSK_ERR_IMG_UNSUPTYPE);
-        tsk_error_set_errstr("%d", type);
-        return NULL;
-    }
+        default:
+            tsk_error_reset();
+            tsk_error_set_errno(TSK_ERR_IMG_UNSUPTYPE);
+            tsk_error_set_errstr("%d", type);
+            return NULL;
+        }
 
-    return img_info;
-}
+        return img_info;
+    }
 
 
 /**
@@ -267,13 +293,11 @@ tsk_img_open(int num_img,
  *
  * @return Pointer to TSK_IMG_INFO or NULL on error
  */
-TSK_IMG_INFO *
-tsk_img_open_utf8_sing(const char *a_image, TSK_IMG_TYPE_ENUM type,
-    unsigned int a_ssize)
-{
-    const char *const a = a_image;
-    return tsk_img_open_utf8(1, &a, type, a_ssize);
-}
+    TSK_IMG_INFO *tsk_img_open_utf8_sing(const char *a_image,
+        TSK_IMG_TYPE_ENUM type, unsigned int a_ssize) {
+        const char *const a = a_image;
+        return tsk_img_open_utf8(1, &a, type, a_ssize);
+    }
 
 
 /**
@@ -290,72 +314,71 @@ tsk_img_open_utf8_sing(const char *a_image, TSK_IMG_TYPE_ENUM type,
  *
  * @return Pointer to TSK_IMG_INFO or NULL on error
  */
-TSK_IMG_INFO *
-tsk_img_open_utf8(int num_img, const char *const images[],
-    TSK_IMG_TYPE_ENUM type, unsigned int a_ssize)
-{
+    TSK_IMG_INFO *tsk_img_open_utf8(int num_img,
+        const char *const images[], TSK_IMG_TYPE_ENUM type,
+        unsigned int a_ssize) {
 #ifdef TSK_WIN32
-    {
-        /* Note that there is an assumption in this code that wchar_t is 2-bytes.
-         * this is a correct assumption for Windows, but not for all systems... */
-
-        TSK_IMG_INFO *retval = NULL;
-        wchar_t **images16;
-        int i;
-
-        // allocate a buffer to store the UTF-16 version of the images.
-        if ((images16 =
-                (wchar_t **) tsk_malloc(sizeof(wchar_t *) * num_img)) ==
-            NULL) {
-            return NULL;
-        }
-
-        for (i = 0; i < num_img; i++) {
-            size_t ilen;
-            UTF16 *utf16;
-            UTF8 *utf8;
-            TSKConversionResult retval2;
-
-            // we allocate the buffer with the same number of chars as the UTF-8 length
-            ilen = strlen(images[i]);
-            if ((images16[i] =
-                    (wchar_t *) tsk_malloc((ilen +
-                            1) * sizeof(wchar_t))) == NULL) {
-                goto tsk_utf8_cleanup;
+        {
+            /* Note that there is an assumption in this code that wchar_t is 2-bytes.
+             * this is a correct assumption for Windows, but not for all systems... */
+
+            TSK_IMG_INFO *retval = NULL;
+            wchar_t **images16;
+            int i;
+
+            // allocate a buffer to store the UTF-16 version of the images.
+            if ((images16 =
+                    (wchar_t **) tsk_malloc(sizeof(wchar_t *) *
+                        num_img)) == NULL) {
+                return NULL;
             }
 
-            utf8 = (UTF8 *) images[i];
-            utf16 = (UTF16 *) images16[i];
-
-            retval2 =
-                tsk_UTF8toUTF16((const UTF8 **) &utf8, &utf8[ilen],
-                &utf16, &utf16[ilen], TSKlenientConversion);
-            if (retval2 != TSKconversionOK) {
-                tsk_error_set_errno(TSK_ERR_IMG_CONVERT);
-                tsk_error_set_errstr
-                    ("tsk_img_open_utf8: Error converting image %s %d",
-                    images[i], retval2);
-                goto tsk_utf8_cleanup;
+            for (i = 0; i < num_img; i++) {
+                size_t ilen;
+                UTF16 *utf16;
+                UTF8 *utf8;
+                TSKConversionResult retval2;
+
+                // we allocate the buffer with the same number of chars as the UTF-8 length
+                ilen = strlen(images[i]);
+                if ((images16[i] =
+                        (wchar_t *) tsk_malloc((ilen +
+                                1) * sizeof(wchar_t))) == NULL) {
+                    goto tsk_utf8_cleanup;
+                }
+
+                utf8 = (UTF8 *) images[i];
+                utf16 = (UTF16 *) images16[i];
+
+                retval2 =
+                    tsk_UTF8toUTF16((const UTF8 **) &utf8, &utf8[ilen],
+                    &utf16, &utf16[ilen], TSKlenientConversion);
+                if (retval2 != TSKconversionOK) {
+                    tsk_error_set_errno(TSK_ERR_IMG_CONVERT);
+                    tsk_error_set_errstr
+                        ("tsk_img_open_utf8: Error converting image %s %d",
+                        images[i], retval2);
+                    goto tsk_utf8_cleanup;
+                }
+                *utf16 = '\0';
             }
-            *utf16 = '\0';
-        }
 
-        retval = tsk_img_open(num_img, images16, type, a_ssize);
+            retval = tsk_img_open(num_img, images16, type, a_ssize);
 
-        // free up the memory
-      tsk_utf8_cleanup:
-        for (i = 0; i < num_img; i++) {
-            if (images16[i])
-                free(images16[i]);
-        }
-        free(images16);
+            // free up the memory
+          tsk_utf8_cleanup:
+            for (i = 0; i < num_img; i++) {
+                if (images16[i])
+                    free(images16[i]);
+            }
+            free(images16);
 
-        return retval;
-    }
+            return retval;
+        }
 #else
-    return tsk_img_open(num_img, images, type, a_ssize);
+        return tsk_img_open(num_img, images, type, a_ssize);
 #endif
-}
+    }
 
 
 #if 0
@@ -364,80 +387,80 @@ tsk_img_open_utf8(int num_img, const char *const images[],
  * UTF-32 to UTF-8 support as well.  If the goal is to provide a standard UTF-16
  * interface, we should use another type besiddes wchar_t.
  */
-TSK_IMG_INFO *
-tsk_img_open_utf16(int num_img,
-    wchar_t * const images[], TSK_IMG_TYPE_ENUM type)
-{
+    TSK_IMG_INFO *tsk_img_open_utf16(int num_img,
+        wchar_t * const images[], TSK_IMG_TYPE_ENUM type) {
 #if TSK_WIN32
-    return tsk_img_open(num_img, images, type);
+        return tsk_img_open(num_img, images, type);
 #else
-    {
-        TSK_IMG_INFO *retval;
-        int i;
-        char **images8;
-        TSK_ENDIAN_ENUM endian;
-        uint16_t tmp1;
-
-        /* The unicode conversio routines are primarily to convert Unicode
-         * in file and volume system images, which means they could be in
-         * an endian ordering different from the local one.  We need to figure
-         * out our local ordering so we can give it the right flag */
-        tmp1 = 1;
-        if (tsk_guess_end_u16(&endian, (uint8_t *) & tmp1, 1)) {
-            // @@@@
-            return NULL;
-        }
-
-
-        // convert UTF16 to UTF8
-        if ((images8 =
-                (char **) tsk_malloc(sizeof(char *) * num_img)) == NULL) {
-            return NULL;
-        }
-
-        for (i = 0; i < num_img; i++) {
-            size_t ilen;
-            UTF16 *utf16;
-            UTF8 *utf8;
-            TSKConversionResult retval2;
-
+        {
+            TSK_IMG_INFO *retval;
+            int i;
+            char **images8;
+            TSK_ENDIAN_ENUM endian;
+            uint16_t tmp1;
+
+            /* The unicode conversio routines are primarily to convert Unicode
+             * in file and volume system images, which means they could be in
+             * an endian ordering different from the local one.  We need to figure
+             * out our local ordering so we can give it the right flag */
+            tmp1 = 1;
+            if (tsk_guess_end_u16(&endian, (uint8_t *) & tmp1, 1)) {
+                // @@@@
+                return NULL;
+            }
 
-            // we allocate the buffer to be four times the utf-16 length.
-            ilen = wcslen(images[i]);
-            ilen <<= 2;
 
-            if ((images8[i] = (char *) tsk_malloc(ilen)) == NULL) {
+            // convert UTF16 to UTF8
+            if ((images8 =
+                    (char **) tsk_malloc(sizeof(char *) * num_img)) ==
+                NULL) {
                 return NULL;
             }
 
-            utf16 = (UTF16 *) images[i];
-            utf8 = (UTF8 *) images8[i];
-
-            retval2 =
-                tsk_UTF16toUTF8_lclorder((const UTF16 **) &utf16,
-                &utf16[wcslen(images[i]) + 1], &utf8,
-                &utf8[ilen + 1], TSKlenientConversion);
-            if (retval2 != TSKconversionOK) {
-                tsk_error_set_errno(TSK_ERR_IMG_CONVERT);
-                tsk_error_set_errstr
-                    ("tsk_img_open_utf16: Error converting image %d %d", i,
-                    retval2);
-                return NULL;
+            for (i = 0; i < num_img; i++) {
+                size_t ilen;
+                UTF16 *utf16;
+                UTF8 *utf8;
+                TSKConversionResult retval2;
+
+
+                // we allocate the buffer to be four times the utf-16 length.
+                ilen = wcslen(images[i]);
+                ilen <<= 2;
+
+                if ((images8[i] = (char *) tsk_malloc(ilen)) == NULL) {
+                    return NULL;
+                }
+
+                utf16 = (UTF16 *) images[i];
+                utf8 = (UTF8 *) images8[i];
+
+                retval2 =
+                    tsk_UTF16toUTF8_lclorder((const UTF16 **) &utf16,
+                    &utf16[wcslen(images[i]) + 1], &utf8,
+                    &utf8[ilen + 1], TSKlenientConversion);
+                if (retval2 != TSKconversionOK) {
+                    tsk_error_set_errno(TSK_ERR_IMG_CONVERT);
+                    tsk_error_set_errstr
+                        ("tsk_img_open_utf16: Error converting image %d %d",
+                        i, retval2);
+                    return NULL;
+                }
+                *utf8 = '\0';
             }
-            *utf8 = '\0';
-        }
 
-        retval = tsk_img_open(num_img, (const TSK_TCHAR **) images8, type);
+            retval =
+                tsk_img_open(num_img, (const TSK_TCHAR **) images8, type);
 
-        for (i = 0; i < num_img; i++) {
-            free(images8[i]);
-        }
-        free(images8);
+            for (i = 0; i < num_img; i++) {
+                free(images8[i]);
+            }
+            free(images8);
 
-        return retval;
-    }
+            return retval;
+        }
 #endif
-}
+    }
 #endif
 
 
@@ -448,11 +471,10 @@ tsk_img_open_utf16(int num_img,
  * Closes an open disk image.
  * @param a_img_info Pointer to the open disk image structure.
  */
-void
-tsk_img_close(TSK_IMG_INFO * a_img_info)
-{
-    if (a_img_info == NULL) {
-        return;
+    void
+     tsk_img_close(TSK_IMG_INFO * a_img_info) {
+        if (a_img_info == NULL) {
+            return;
+        }
+        a_img_info->close(a_img_info);
     }
-    a_img_info->close(a_img_info);
-}