diff --git a/visualstudio/knx.sln b/knx.sln similarity index 100% rename from visualstudio/knx.sln rename to knx.sln diff --git a/visualstudio/ClassDiagram.cd b/port/arduino/visualstudio/ClassDiagram.cd similarity index 100% rename from visualstudio/ClassDiagram.cd rename to port/arduino/visualstudio/ClassDiagram.cd diff --git a/visualstudio/Doxyfile b/port/arduino/visualstudio/Doxyfile similarity index 100% rename from visualstudio/Doxyfile rename to port/arduino/visualstudio/Doxyfile diff --git a/visualstudio/knx-bme680.vgdbproj b/port/arduino/visualstudio/knx-bme680.vgdbproj similarity index 100% rename from visualstudio/knx-bme680.vgdbproj rename to port/arduino/visualstudio/knx-bme680.vgdbproj diff --git a/visualstudio/knx-demo.vgdbproj b/port/arduino/visualstudio/knx-demo.vgdbproj similarity index 100% rename from visualstudio/knx-demo.vgdbproj rename to port/arduino/visualstudio/knx-demo.vgdbproj diff --git a/visualstudio/knx-vito.vgdbproj b/port/arduino/visualstudio/knx-vito.vgdbproj similarity index 100% rename from visualstudio/knx-vito.vgdbproj rename to port/arduino/visualstudio/knx-vito.vgdbproj diff --git a/visualstudio/CMakeLists.txt b/port/linux/CMakeLists.txt similarity index 100% rename from visualstudio/CMakeLists.txt rename to port/linux/CMakeLists.txt diff --git a/visualstudio/knx-linux-Debug.vgdbsettings b/port/linux/visualstudio/knx-linux-Debug.vgdbsettings similarity index 100% rename from visualstudio/knx-linux-Debug.vgdbsettings rename to port/linux/visualstudio/knx-linux-Debug.vgdbsettings diff --git a/visualstudio/knx-linux-Release.vgdbsettings b/port/linux/visualstudio/knx-linux-Release.vgdbsettings similarity index 100% rename from visualstudio/knx-linux-Release.vgdbsettings rename to port/linux/visualstudio/knx-linux-Release.vgdbsettings diff --git a/visualstudio/knx-linux.vcxproj b/port/linux/visualstudio/knx-linux.vcxproj similarity index 100% rename from visualstudio/knx-linux.vcxproj rename to port/linux/visualstudio/knx-linux.vcxproj diff --git a/visualstudio/knx-linux.vcxproj.filters b/port/linux/visualstudio/knx-linux.vcxproj.filters similarity index 100% rename from visualstudio/knx-linux.vcxproj.filters rename to port/linux/visualstudio/knx-linux.vcxproj.filters diff --git a/src/address_table_object.cpp b/src/knx/address_table_object.cpp similarity index 100% rename from src/address_table_object.cpp rename to src/knx/address_table_object.cpp diff --git a/src/address_table_object.h b/src/knx/address_table_object.h similarity index 100% rename from src/address_table_object.h rename to src/knx/address_table_object.h diff --git a/src/apdu.cpp b/src/knx/apdu.cpp similarity index 100% rename from src/apdu.cpp rename to src/knx/apdu.cpp diff --git a/src/apdu.h b/src/knx/apdu.h similarity index 100% rename from src/apdu.h rename to src/knx/apdu.h diff --git a/src/application_layer.cpp b/src/knx/application_layer.cpp similarity index 100% rename from src/application_layer.cpp rename to src/knx/application_layer.cpp diff --git a/src/application_layer.h b/src/knx/application_layer.h similarity index 100% rename from src/application_layer.h rename to src/knx/application_layer.h diff --git a/src/application_program_object.cpp b/src/knx/application_program_object.cpp similarity index 100% rename from src/application_program_object.cpp rename to src/knx/application_program_object.cpp diff --git a/src/application_program_object.h b/src/knx/application_program_object.h similarity index 100% rename from src/application_program_object.h rename to src/knx/application_program_object.h diff --git a/src/association_table_object.cpp b/src/knx/association_table_object.cpp similarity index 100% rename from src/association_table_object.cpp rename to src/knx/association_table_object.cpp diff --git a/src/association_table_object.h b/src/knx/association_table_object.h similarity index 100% rename from src/association_table_object.h rename to src/knx/association_table_object.h diff --git a/src/bau.cpp b/src/knx/bau.cpp similarity index 100% rename from src/bau.cpp rename to src/knx/bau.cpp diff --git a/src/bau.h b/src/knx/bau.h similarity index 100% rename from src/bau.h rename to src/knx/bau.h diff --git a/src/bau07B0.cpp b/src/knx/bau07B0.cpp similarity index 100% rename from src/bau07B0.cpp rename to src/knx/bau07B0.cpp diff --git a/src/bau07B0.h b/src/knx/bau07B0.h similarity index 100% rename from src/bau07B0.h rename to src/knx/bau07B0.h diff --git a/src/bau57B0.cpp b/src/knx/bau57B0.cpp similarity index 100% rename from src/bau57B0.cpp rename to src/knx/bau57B0.cpp diff --git a/src/bau57B0.h b/src/knx/bau57B0.h similarity index 100% rename from src/bau57B0.h rename to src/knx/bau57B0.h diff --git a/src/bau_systemB.cpp b/src/knx/bau_systemB.cpp similarity index 100% rename from src/bau_systemB.cpp rename to src/knx/bau_systemB.cpp diff --git a/src/bau_systemB.h b/src/knx/bau_systemB.h similarity index 100% rename from src/bau_systemB.h rename to src/knx/bau_systemB.h diff --git a/src/bits.cpp b/src/knx/bits.cpp similarity index 100% rename from src/bits.cpp rename to src/knx/bits.cpp diff --git a/src/bits.h b/src/knx/bits.h similarity index 100% rename from src/bits.h rename to src/knx/bits.h diff --git a/src/cemi_frame.cpp b/src/knx/cemi_frame.cpp similarity index 100% rename from src/cemi_frame.cpp rename to src/knx/cemi_frame.cpp diff --git a/src/cemi_frame.h b/src/knx/cemi_frame.h similarity index 100% rename from src/cemi_frame.h rename to src/knx/cemi_frame.h diff --git a/src/data_link_layer.cpp b/src/knx/data_link_layer.cpp similarity index 100% rename from src/data_link_layer.cpp rename to src/knx/data_link_layer.cpp diff --git a/src/data_link_layer.h b/src/knx/data_link_layer.h similarity index 100% rename from src/data_link_layer.h rename to src/knx/data_link_layer.h diff --git a/src/datapoint_types.cpp b/src/knx/datapoint_types.cpp similarity index 100% rename from src/datapoint_types.cpp rename to src/knx/datapoint_types.cpp diff --git a/src/datapoint_types.h b/src/knx/datapoint_types.h similarity index 100% rename from src/datapoint_types.h rename to src/knx/datapoint_types.h diff --git a/src/device_object.cpp b/src/knx/device_object.cpp similarity index 100% rename from src/device_object.cpp rename to src/knx/device_object.cpp diff --git a/src/device_object.h b/src/knx/device_object.h similarity index 100% rename from src/device_object.h rename to src/knx/device_object.h diff --git a/src/group_object.cpp b/src/knx/group_object.cpp similarity index 100% rename from src/group_object.cpp rename to src/knx/group_object.cpp diff --git a/src/group_object.h b/src/knx/group_object.h similarity index 100% rename from src/group_object.h rename to src/knx/group_object.h diff --git a/src/group_object_table_object.cpp b/src/knx/group_object_table_object.cpp similarity index 100% rename from src/group_object_table_object.cpp rename to src/knx/group_object_table_object.cpp diff --git a/src/group_object_table_object.h b/src/knx/group_object_table_object.h similarity index 100% rename from src/group_object_table_object.h rename to src/knx/group_object_table_object.h diff --git a/src/interface_object.cpp b/src/knx/interface_object.cpp similarity index 100% rename from src/interface_object.cpp rename to src/knx/interface_object.cpp diff --git a/src/interface_object.h b/src/knx/interface_object.h similarity index 100% rename from src/interface_object.h rename to src/knx/interface_object.h diff --git a/src/ip_data_link_layer.cpp b/src/knx/ip_data_link_layer.cpp similarity index 100% rename from src/ip_data_link_layer.cpp rename to src/knx/ip_data_link_layer.cpp diff --git a/src/ip_data_link_layer.h b/src/knx/ip_data_link_layer.h similarity index 100% rename from src/ip_data_link_layer.h rename to src/knx/ip_data_link_layer.h diff --git a/src/ip_parameter_object.cpp b/src/knx/ip_parameter_object.cpp similarity index 100% rename from src/ip_parameter_object.cpp rename to src/knx/ip_parameter_object.cpp diff --git a/src/ip_parameter_object.h b/src/knx/ip_parameter_object.h similarity index 100% rename from src/ip_parameter_object.h rename to src/knx/ip_parameter_object.h diff --git a/src/knx_types.h b/src/knx/knx_types.h similarity index 100% rename from src/knx_types.h rename to src/knx/knx_types.h diff --git a/src/memory.cpp b/src/knx/memory.cpp similarity index 100% rename from src/memory.cpp rename to src/knx/memory.cpp diff --git a/src/memory.h b/src/knx/memory.h similarity index 100% rename from src/memory.h rename to src/knx/memory.h diff --git a/src/network_layer.cpp b/src/knx/network_layer.cpp similarity index 100% rename from src/network_layer.cpp rename to src/knx/network_layer.cpp diff --git a/src/network_layer.h b/src/knx/network_layer.h similarity index 100% rename from src/network_layer.h rename to src/knx/network_layer.h diff --git a/src/npdu.cpp b/src/knx/npdu.cpp similarity index 100% rename from src/npdu.cpp rename to src/knx/npdu.cpp diff --git a/src/npdu.h b/src/knx/npdu.h similarity index 100% rename from src/npdu.h rename to src/knx/npdu.h diff --git a/src/platform.cpp b/src/knx/platform.cpp similarity index 100% rename from src/platform.cpp rename to src/knx/platform.cpp diff --git a/src/platform.h b/src/knx/platform.h similarity index 100% rename from src/platform.h rename to src/knx/platform.h diff --git a/src/property_types.h b/src/knx/property_types.h similarity index 100% rename from src/property_types.h rename to src/knx/property_types.h diff --git a/src/save_restore.h b/src/knx/save_restore.h similarity index 100% rename from src/save_restore.h rename to src/knx/save_restore.h diff --git a/src/table_object.cpp b/src/knx/table_object.cpp similarity index 100% rename from src/table_object.cpp rename to src/knx/table_object.cpp diff --git a/src/table_object.h b/src/knx/table_object.h similarity index 100% rename from src/table_object.h rename to src/knx/table_object.h diff --git a/src/tpdu.cpp b/src/knx/tpdu.cpp similarity index 100% rename from src/tpdu.cpp rename to src/knx/tpdu.cpp diff --git a/src/tpdu.h b/src/knx/tpdu.h similarity index 100% rename from src/tpdu.h rename to src/knx/tpdu.h diff --git a/src/tpuart_data_link_layer.cpp b/src/knx/tpuart_data_link_layer.cpp similarity index 100% rename from src/tpuart_data_link_layer.cpp rename to src/knx/tpuart_data_link_layer.cpp diff --git a/src/tpuart_data_link_layer.h b/src/knx/tpuart_data_link_layer.h similarity index 100% rename from src/tpuart_data_link_layer.h rename to src/knx/tpuart_data_link_layer.h diff --git a/src/transport_layer.cpp b/src/knx/transport_layer.cpp similarity index 100% rename from src/transport_layer.cpp rename to src/knx/transport_layer.cpp diff --git a/src/transport_layer.h b/src/knx/transport_layer.h similarity index 100% rename from src/transport_layer.h rename to src/knx/transport_layer.h