diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 01cb370..631f577 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -15,18 +15,17 @@
 
 set(tests)
 set(tests_wraps)
-add_subdirectory(src)
-add_subdirectory(features)
+add_subdirectory(utests)
 
-foreach(test_name IN LISTS tests)
-    message(STATUS ${test_name})
-    string(REGEX REPLACE "[a-z]*_(.*)" "\\1" name "${test_name}")
-    string(REGEX REPLACE "([a-z]*)_.*" "\\1" prefix "${test_name}")
-    add_executable(${test_name} ${prefix}/test_${name}.c $<TARGET_OBJECTS:yangobj>)
-endforeach(test_name)
+foreach(test_id IN LISTS tests)
+    message(STATUS ${test_id})
+    string(REGEX REPLACE "([a-z]*):.*" "\\1" category "${test_id}")
+    string(REGEX REPLACE "[a-z]*:(.*)" "\\1" path "${test_id}")
+    string(REGEX REPLACE "[a-z:/]*test_(.*)" "\\1" name "${test_id}")
+    set(test_name ${category}_${name})
+    add_executable(${test_name} ${category}s/${path}.c $<TARGET_OBJECTS:yangobj>)
 
-# Set common attributes of all tests
-foreach(test_name IN LISTS tests)
+	# Set common attributes of all tests
     target_link_libraries(${test_name} ${CMOCKA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${PCRE2_LIBRARIES} m)
     if (NOT APPLE)
         list(GET tests_wraps 0 test_wrap)
@@ -37,20 +36,18 @@
 #    set_property(TEST ${test_name} PROPERTY ENVIRONMENT "LIBYANG_EXTENSIONS_PLUGINS_DIR=${CMAKE_BINARY_DIR}/src/extensions")
 #    set_property(TEST ${test_name} APPEND PROPERTY ENVIRONMENT "LIBYANG_USER_TYPES_PLUGINS_DIR=${CMAKE_BINARY_DIR}/src/user_types")
     set_property(TEST ${test_name} APPEND PROPERTY ENVIRONMENT "MALLOC_CHECK_=3")
-endforeach(test_name)
 
-if(ENABLE_VALGRIND_TESTS)
-    if(VALGRIND_FOUND)
-        foreach(test_name IN LISTS tests)
+    if(ENABLE_VALGRIND_TESTS)
+        if(VALGRIND_FOUND)
             add_test(${test_name}_valgrind valgrind --leak-check=full --show-leak-kinds=all --suppressions=${PROJECT_SOURCE_DIR}/tests/ld.supp --error-exitcode=1
-                 ${CMAKE_BINARY_DIR}/tests/${test_name})
+               ${CMAKE_BINARY_DIR}/tests/${test_name})
 #            set_property(TEST ${test_name}_valgrind PROPERTY ENVIRONMENT "LIBYANG_EXTENSIONS_PLUGINS_DIR=${CMAKE_BINARY_DIR}/src/extensions")
 #            set_property(TEST ${test_name}_valgrind APPEND PROPERTY ENVIRONMENT "LIBYANG_USER_TYPES_PLUGINS_DIR=${CMAKE_BINARY_DIR}/src/user_types")
-        endforeach(test_name)
-    else(VALGRIND_FOUND)
-        message(WARNING "valgrind executable not found! Disabling memory leaks tests.")
-    endif(VALGRIND_FOUND)
-endif()
+        else(VALGRIND_FOUND)
+            message(WARNING "valgrind executable not found! Disabling memory leaks tests.")
+        endif(VALGRIND_FOUND)
+    endif(ENABLE_VALGRIND_TESTS)
+endforeach()
 
 if(ENABLE_COVERAGE)
     # Destination
