diff --git a/CMakeLists.txt b/External/FEXCore/CMakeLists.txt similarity index 100% rename from CMakeLists.txt rename to External/FEXCore/CMakeLists.txt diff --git a/Examples/CMakeLists.txt b/External/FEXCore/Examples/CMakeLists.txt similarity index 100% rename from Examples/CMakeLists.txt rename to External/FEXCore/Examples/CMakeLists.txt diff --git a/Examples/SimpleCodeLoader.cpp b/External/FEXCore/Examples/SimpleCodeLoader.cpp similarity index 100% rename from Examples/SimpleCodeLoader.cpp rename to External/FEXCore/Examples/SimpleCodeLoader.cpp diff --git a/Examples/SimpleCodeLoader.h b/External/FEXCore/Examples/SimpleCodeLoader.h similarity index 100% rename from Examples/SimpleCodeLoader.h rename to External/FEXCore/Examples/SimpleCodeLoader.h diff --git a/Examples/SimplePrint.cpp b/External/FEXCore/Examples/SimplePrint.cpp similarity index 100% rename from Examples/SimplePrint.cpp rename to External/FEXCore/Examples/SimplePrint.cpp diff --git a/LICENSE b/External/FEXCore/LICENSE similarity index 100% rename from LICENSE rename to External/FEXCore/LICENSE diff --git a/Readme.md b/External/FEXCore/Readme.md similarity index 100% rename from Readme.md rename to External/FEXCore/Readme.md diff --git a/Scripts/json_ir_generator.py b/External/FEXCore/Scripts/json_ir_generator.py similarity index 100% rename from Scripts/json_ir_generator.py rename to External/FEXCore/Scripts/json_ir_generator.py diff --git a/Source/CMakeLists.txt b/External/FEXCore/Source/CMakeLists.txt similarity index 100% rename from Source/CMakeLists.txt rename to External/FEXCore/Source/CMakeLists.txt diff --git a/Source/Common/BitSet.h b/External/FEXCore/Source/Common/BitSet.h similarity index 100% rename from Source/Common/BitSet.h rename to External/FEXCore/Source/Common/BitSet.h diff --git a/Source/Common/JitSymbols.cpp b/External/FEXCore/Source/Common/JitSymbols.cpp similarity index 100% rename from Source/Common/JitSymbols.cpp rename to External/FEXCore/Source/Common/JitSymbols.cpp diff --git a/Source/Common/JitSymbols.h b/External/FEXCore/Source/Common/JitSymbols.h similarity index 100% rename from Source/Common/JitSymbols.h rename to External/FEXCore/Source/Common/JitSymbols.h diff --git a/Source/Common/MathUtils.h b/External/FEXCore/Source/Common/MathUtils.h similarity index 100% rename from Source/Common/MathUtils.h rename to External/FEXCore/Source/Common/MathUtils.h diff --git a/Source/Common/NetStream.cpp b/External/FEXCore/Source/Common/NetStream.cpp similarity index 100% rename from Source/Common/NetStream.cpp rename to External/FEXCore/Source/Common/NetStream.cpp diff --git a/Source/Common/NetStream.h b/External/FEXCore/Source/Common/NetStream.h similarity index 100% rename from Source/Common/NetStream.h rename to External/FEXCore/Source/Common/NetStream.h diff --git a/Source/Common/Paths.cpp b/External/FEXCore/Source/Common/Paths.cpp similarity index 100% rename from Source/Common/Paths.cpp rename to External/FEXCore/Source/Common/Paths.cpp diff --git a/Source/Common/Paths.h b/External/FEXCore/Source/Common/Paths.h similarity index 100% rename from Source/Common/Paths.h rename to External/FEXCore/Source/Common/Paths.h diff --git a/Source/Interface/Config/Config.cpp b/External/FEXCore/Source/Interface/Config/Config.cpp similarity index 100% rename from Source/Interface/Config/Config.cpp rename to External/FEXCore/Source/Interface/Config/Config.cpp diff --git a/Source/Interface/Context/Context.cpp b/External/FEXCore/Source/Interface/Context/Context.cpp similarity index 100% rename from Source/Interface/Context/Context.cpp rename to External/FEXCore/Source/Interface/Context/Context.cpp diff --git a/Source/Interface/Context/Context.h b/External/FEXCore/Source/Interface/Context/Context.h similarity index 100% rename from Source/Interface/Context/Context.h rename to External/FEXCore/Source/Interface/Context/Context.h diff --git a/Source/Interface/Core/BlockCache.cpp b/External/FEXCore/Source/Interface/Core/BlockCache.cpp similarity index 100% rename from Source/Interface/Core/BlockCache.cpp rename to External/FEXCore/Source/Interface/Core/BlockCache.cpp diff --git a/Source/Interface/Core/BlockCache.h b/External/FEXCore/Source/Interface/Core/BlockCache.h similarity index 100% rename from Source/Interface/Core/BlockCache.h rename to External/FEXCore/Source/Interface/Core/BlockCache.h diff --git a/Source/Interface/Core/BlockSamplingData.cpp b/External/FEXCore/Source/Interface/Core/BlockSamplingData.cpp similarity index 100% rename from Source/Interface/Core/BlockSamplingData.cpp rename to External/FEXCore/Source/Interface/Core/BlockSamplingData.cpp diff --git a/Source/Interface/Core/BlockSamplingData.h b/External/FEXCore/Source/Interface/Core/BlockSamplingData.h similarity index 100% rename from Source/Interface/Core/BlockSamplingData.h rename to External/FEXCore/Source/Interface/Core/BlockSamplingData.h diff --git a/Source/Interface/Core/CPUID.cpp b/External/FEXCore/Source/Interface/Core/CPUID.cpp similarity index 100% rename from Source/Interface/Core/CPUID.cpp rename to External/FEXCore/Source/Interface/Core/CPUID.cpp diff --git a/Source/Interface/Core/CPUID.h b/External/FEXCore/Source/Interface/Core/CPUID.h similarity index 100% rename from Source/Interface/Core/CPUID.h rename to External/FEXCore/Source/Interface/Core/CPUID.h diff --git a/Source/Interface/Core/Core.cpp b/External/FEXCore/Source/Interface/Core/Core.cpp similarity index 100% rename from Source/Interface/Core/Core.cpp rename to External/FEXCore/Source/Interface/Core/Core.cpp diff --git a/Source/Interface/Core/Core.h b/External/FEXCore/Source/Interface/Core/Core.h similarity index 100% rename from Source/Interface/Core/Core.h rename to External/FEXCore/Source/Interface/Core/Core.h diff --git a/Source/Interface/Core/DebugData.h b/External/FEXCore/Source/Interface/Core/DebugData.h similarity index 100% rename from Source/Interface/Core/DebugData.h rename to External/FEXCore/Source/Interface/Core/DebugData.h diff --git a/Source/Interface/Core/Frontend.cpp b/External/FEXCore/Source/Interface/Core/Frontend.cpp similarity index 100% rename from Source/Interface/Core/Frontend.cpp rename to External/FEXCore/Source/Interface/Core/Frontend.cpp diff --git a/Source/Interface/Core/Frontend.h b/External/FEXCore/Source/Interface/Core/Frontend.h similarity index 100% rename from Source/Interface/Core/Frontend.h rename to External/FEXCore/Source/Interface/Core/Frontend.h diff --git a/Source/Interface/Core/GdbServer.cpp b/External/FEXCore/Source/Interface/Core/GdbServer.cpp similarity index 100% rename from Source/Interface/Core/GdbServer.cpp rename to External/FEXCore/Source/Interface/Core/GdbServer.cpp diff --git a/Source/Interface/Core/GdbServer.h b/External/FEXCore/Source/Interface/Core/GdbServer.h similarity index 100% rename from Source/Interface/Core/GdbServer.h rename to External/FEXCore/Source/Interface/Core/GdbServer.h diff --git a/Source/Interface/Core/InternalThreadState.h b/External/FEXCore/Source/Interface/Core/InternalThreadState.h similarity index 100% rename from Source/Interface/Core/InternalThreadState.h rename to External/FEXCore/Source/Interface/Core/InternalThreadState.h diff --git a/Source/Interface/Core/Interpreter/InterpreterCore.cpp b/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp similarity index 100% rename from Source/Interface/Core/Interpreter/InterpreterCore.cpp rename to External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp diff --git a/Source/Interface/Core/Interpreter/InterpreterCore.h b/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.h similarity index 100% rename from Source/Interface/Core/Interpreter/InterpreterCore.h rename to External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.h diff --git a/Source/Interface/Core/JIT/Arm64/JIT.cpp b/External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp similarity index 100% rename from Source/Interface/Core/JIT/Arm64/JIT.cpp rename to External/FEXCore/Source/Interface/Core/JIT/Arm64/JIT.cpp diff --git a/Source/Interface/Core/JIT/JITCore.h b/External/FEXCore/Source/Interface/Core/JIT/JITCore.h similarity index 100% rename from Source/Interface/Core/JIT/JITCore.h rename to External/FEXCore/Source/Interface/Core/JIT/JITCore.h diff --git a/Source/Interface/Core/JIT/x86_64/JIT.cpp b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp similarity index 100% rename from Source/Interface/Core/JIT/x86_64/JIT.cpp rename to External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.cpp diff --git a/Source/Interface/Core/JIT/x86_64/JIT.h b/External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.h similarity index 100% rename from Source/Interface/Core/JIT/x86_64/JIT.h rename to External/FEXCore/Source/Interface/Core/JIT/x86_64/JIT.h diff --git a/Source/Interface/Core/LLVMJIT/LLVMCore.cpp b/External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMCore.cpp similarity index 100% rename from Source/Interface/Core/LLVMJIT/LLVMCore.cpp rename to External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMCore.cpp diff --git a/Source/Interface/Core/LLVMJIT/LLVMCore.h b/External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMCore.h similarity index 100% rename from Source/Interface/Core/LLVMJIT/LLVMCore.h rename to External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMCore.h diff --git a/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.cpp b/External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.cpp similarity index 100% rename from Source/Interface/Core/LLVMJIT/LLVMMemoryManager.cpp rename to External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.cpp diff --git a/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.h b/External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.h similarity index 100% rename from Source/Interface/Core/LLVMJIT/LLVMMemoryManager.h rename to External/FEXCore/Source/Interface/Core/LLVMJIT/LLVMMemoryManager.h diff --git a/Source/Interface/Core/OpcodeDispatcher.cpp b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp similarity index 100% rename from Source/Interface/Core/OpcodeDispatcher.cpp rename to External/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp diff --git a/Source/Interface/Core/OpcodeDispatcher.h b/External/FEXCore/Source/Interface/Core/OpcodeDispatcher.h similarity index 100% rename from Source/Interface/Core/OpcodeDispatcher.h rename to External/FEXCore/Source/Interface/Core/OpcodeDispatcher.h diff --git a/Source/Interface/Core/X86DebugInfo.cpp b/External/FEXCore/Source/Interface/Core/X86DebugInfo.cpp similarity index 100% rename from Source/Interface/Core/X86DebugInfo.cpp rename to External/FEXCore/Source/Interface/Core/X86DebugInfo.cpp diff --git a/Source/Interface/Core/X86Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables.cpp diff --git a/Source/Interface/Core/X86Tables/BaseTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/BaseTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/BaseTables.cpp diff --git a/Source/Interface/Core/X86Tables/DDDTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/DDDTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/DDDTables.cpp diff --git a/Source/Interface/Core/X86Tables/EVEXTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/EVEXTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/EVEXTables.cpp diff --git a/Source/Interface/Core/X86Tables/H0F38Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/H0F38Tables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/H0F38Tables.cpp diff --git a/Source/Interface/Core/X86Tables/H0F3ATables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/H0F3ATables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/H0F3ATables.cpp diff --git a/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/PrimaryGroupTables.cpp diff --git a/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/SecondaryGroupTables.cpp diff --git a/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/SecondaryModRMTables.cpp diff --git a/Source/Interface/Core/X86Tables/SecondaryTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/SecondaryTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/SecondaryTables.cpp diff --git a/Source/Interface/Core/X86Tables/VEXTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/VEXTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/VEXTables.cpp diff --git a/Source/Interface/Core/X86Tables/X86Tables.h b/External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h similarity index 100% rename from Source/Interface/Core/X86Tables/X86Tables.h rename to External/FEXCore/Source/Interface/Core/X86Tables/X86Tables.h diff --git a/Source/Interface/Core/X86Tables/X87Tables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/X87Tables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/X87Tables.cpp diff --git a/Source/Interface/Core/X86Tables/XOPTables.cpp b/External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp similarity index 100% rename from Source/Interface/Core/X86Tables/XOPTables.cpp rename to External/FEXCore/Source/Interface/Core/X86Tables/XOPTables.cpp diff --git a/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.cpp b/External/FEXCore/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.cpp similarity index 100% rename from Source/Interface/HLE/EmulatedFiles/EmulatedFiles.cpp rename to External/FEXCore/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.cpp diff --git a/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.h b/External/FEXCore/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.h similarity index 100% rename from Source/Interface/HLE/EmulatedFiles/EmulatedFiles.h rename to External/FEXCore/Source/Interface/HLE/EmulatedFiles/EmulatedFiles.h diff --git a/Source/Interface/HLE/FileManagement.cpp b/External/FEXCore/Source/Interface/HLE/FileManagement.cpp similarity index 100% rename from Source/Interface/HLE/FileManagement.cpp rename to External/FEXCore/Source/Interface/HLE/FileManagement.cpp diff --git a/Source/Interface/HLE/FileManagement.h b/External/FEXCore/Source/Interface/HLE/FileManagement.h similarity index 100% rename from Source/Interface/HLE/FileManagement.h rename to External/FEXCore/Source/Interface/HLE/FileManagement.h diff --git a/Source/Interface/HLE/Syscalls.cpp b/External/FEXCore/Source/Interface/HLE/Syscalls.cpp similarity index 100% rename from Source/Interface/HLE/Syscalls.cpp rename to External/FEXCore/Source/Interface/HLE/Syscalls.cpp diff --git a/Source/Interface/HLE/Syscalls.h b/External/FEXCore/Source/Interface/HLE/Syscalls.h similarity index 100% rename from Source/Interface/HLE/Syscalls.h rename to External/FEXCore/Source/Interface/HLE/Syscalls.h diff --git a/Source/Interface/IR/IR.cpp b/External/FEXCore/Source/Interface/IR/IR.cpp similarity index 100% rename from Source/Interface/IR/IR.cpp rename to External/FEXCore/Source/Interface/IR/IR.cpp diff --git a/Source/Interface/IR/IR.json b/External/FEXCore/Source/Interface/IR/IR.json similarity index 100% rename from Source/Interface/IR/IR.json rename to External/FEXCore/Source/Interface/IR/IR.json diff --git a/Source/Interface/IR/PassManager.cpp b/External/FEXCore/Source/Interface/IR/PassManager.cpp similarity index 100% rename from Source/Interface/IR/PassManager.cpp rename to External/FEXCore/Source/Interface/IR/PassManager.cpp diff --git a/Source/Interface/IR/PassManager.h b/External/FEXCore/Source/Interface/IR/PassManager.h similarity index 100% rename from Source/Interface/IR/PassManager.h rename to External/FEXCore/Source/Interface/IR/PassManager.h diff --git a/Source/Interface/IR/Passes.h b/External/FEXCore/Source/Interface/IR/Passes.h similarity index 100% rename from Source/Interface/IR/Passes.h rename to External/FEXCore/Source/Interface/IR/Passes.h diff --git a/Source/Interface/IR/Passes/ConstProp.cpp b/External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp similarity index 100% rename from Source/Interface/IR/Passes/ConstProp.cpp rename to External/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp diff --git a/Source/Interface/IR/Passes/DeadCodeElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp similarity index 100% rename from Source/Interface/IR/Passes/DeadCodeElimination.cpp rename to External/FEXCore/Source/Interface/IR/Passes/DeadCodeElimination.cpp diff --git a/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp similarity index 100% rename from Source/Interface/IR/Passes/DeadContextStoreElimination.cpp rename to External/FEXCore/Source/Interface/IR/Passes/DeadContextStoreElimination.cpp diff --git a/Source/Interface/IR/Passes/IRCompaction.cpp b/External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp similarity index 100% rename from Source/Interface/IR/Passes/IRCompaction.cpp rename to External/FEXCore/Source/Interface/IR/Passes/IRCompaction.cpp diff --git a/Source/Interface/IR/Passes/IRValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp similarity index 100% rename from Source/Interface/IR/Passes/IRValidation.cpp rename to External/FEXCore/Source/Interface/IR/Passes/IRValidation.cpp diff --git a/Source/Interface/IR/Passes/PhiValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp similarity index 100% rename from Source/Interface/IR/Passes/PhiValidation.cpp rename to External/FEXCore/Source/Interface/IR/Passes/PhiValidation.cpp diff --git a/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp b/External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp similarity index 100% rename from Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp rename to External/FEXCore/Source/Interface/IR/Passes/RedundantFlagCalculationElimination.cpp diff --git a/Source/Interface/IR/Passes/RegisterAllocationPass.cpp b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp similarity index 100% rename from Source/Interface/IR/Passes/RegisterAllocationPass.cpp rename to External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.cpp diff --git a/Source/Interface/IR/Passes/RegisterAllocationPass.h b/External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h similarity index 100% rename from Source/Interface/IR/Passes/RegisterAllocationPass.h rename to External/FEXCore/Source/Interface/IR/Passes/RegisterAllocationPass.h diff --git a/Source/Interface/IR/Passes/SyscallOptimization.cpp b/External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp similarity index 100% rename from Source/Interface/IR/Passes/SyscallOptimization.cpp rename to External/FEXCore/Source/Interface/IR/Passes/SyscallOptimization.cpp diff --git a/Source/Interface/IR/Passes/ValueDominanceValidation.cpp b/External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp similarity index 100% rename from Source/Interface/IR/Passes/ValueDominanceValidation.cpp rename to External/FEXCore/Source/Interface/IR/Passes/ValueDominanceValidation.cpp diff --git a/Source/Interface/Memory/MemMapper.cpp b/External/FEXCore/Source/Interface/Memory/MemMapper.cpp similarity index 100% rename from Source/Interface/Memory/MemMapper.cpp rename to External/FEXCore/Source/Interface/Memory/MemMapper.cpp diff --git a/Source/Interface/Memory/MemMapper.h b/External/FEXCore/Source/Interface/Memory/MemMapper.h similarity index 100% rename from Source/Interface/Memory/MemMapper.h rename to External/FEXCore/Source/Interface/Memory/MemMapper.h diff --git a/Source/Interface/Memory/SharedMem.cpp b/External/FEXCore/Source/Interface/Memory/SharedMem.cpp similarity index 100% rename from Source/Interface/Memory/SharedMem.cpp rename to External/FEXCore/Source/Interface/Memory/SharedMem.cpp diff --git a/Source/Interface/Memory/SharedMem.h b/External/FEXCore/Source/Interface/Memory/SharedMem.h similarity index 100% rename from Source/Interface/Memory/SharedMem.h rename to External/FEXCore/Source/Interface/Memory/SharedMem.h diff --git a/Source/Test/CMakeLists.txt b/External/FEXCore/Source/Test/CMakeLists.txt similarity index 100% rename from Source/Test/CMakeLists.txt rename to External/FEXCore/Source/Test/CMakeLists.txt diff --git a/Source/Test/IRTest.cpp b/External/FEXCore/Source/Test/IRTest.cpp similarity index 100% rename from Source/Test/IRTest.cpp rename to External/FEXCore/Source/Test/IRTest.cpp diff --git a/Source/Test/LLVMIRTest.cpp b/External/FEXCore/Source/Test/LLVMIRTest.cpp similarity index 100% rename from Source/Test/LLVMIRTest.cpp rename to External/FEXCore/Source/Test/LLVMIRTest.cpp diff --git a/docs/CPUBackends.md b/External/FEXCore/docs/CPUBackends.md similarity index 100% rename from docs/CPUBackends.md rename to External/FEXCore/docs/CPUBackends.md diff --git a/docs/CustomCPUBackend.md b/External/FEXCore/docs/CustomCPUBackend.md similarity index 100% rename from docs/CustomCPUBackend.md rename to External/FEXCore/docs/CustomCPUBackend.md diff --git a/docs/Frontend.md b/External/FEXCore/docs/Frontend.md similarity index 100% rename from docs/Frontend.md rename to External/FEXCore/docs/Frontend.md diff --git a/docs/IR.md b/External/FEXCore/docs/IR.md similarity index 100% rename from docs/IR.md rename to External/FEXCore/docs/IR.md diff --git a/docs/OpDispatcher.md b/External/FEXCore/docs/OpDispatcher.md similarity index 100% rename from docs/OpDispatcher.md rename to External/FEXCore/docs/OpDispatcher.md diff --git a/docs/OptimizationPasses.md b/External/FEXCore/docs/OptimizationPasses.md similarity index 100% rename from docs/OptimizationPasses.md rename to External/FEXCore/docs/OptimizationPasses.md diff --git a/include/FEXCore/Config/Config.h b/External/FEXCore/include/FEXCore/Config/Config.h similarity index 100% rename from include/FEXCore/Config/Config.h rename to External/FEXCore/include/FEXCore/Config/Config.h diff --git a/include/FEXCore/Core/CPUBackend.h b/External/FEXCore/include/FEXCore/Core/CPUBackend.h similarity index 100% rename from include/FEXCore/Core/CPUBackend.h rename to External/FEXCore/include/FEXCore/Core/CPUBackend.h diff --git a/include/FEXCore/Core/CodeLoader.h b/External/FEXCore/include/FEXCore/Core/CodeLoader.h similarity index 100% rename from include/FEXCore/Core/CodeLoader.h rename to External/FEXCore/include/FEXCore/Core/CodeLoader.h diff --git a/include/FEXCore/Core/Context.h b/External/FEXCore/include/FEXCore/Core/Context.h similarity index 100% rename from include/FEXCore/Core/Context.h rename to External/FEXCore/include/FEXCore/Core/Context.h diff --git a/include/FEXCore/Core/CoreState.h b/External/FEXCore/include/FEXCore/Core/CoreState.h similarity index 100% rename from include/FEXCore/Core/CoreState.h rename to External/FEXCore/include/FEXCore/Core/CoreState.h diff --git a/include/FEXCore/Core/X86Enums.h b/External/FEXCore/include/FEXCore/Core/X86Enums.h similarity index 100% rename from include/FEXCore/Core/X86Enums.h rename to External/FEXCore/include/FEXCore/Core/X86Enums.h diff --git a/include/FEXCore/Debug/ContextDebug.h b/External/FEXCore/include/FEXCore/Debug/ContextDebug.h similarity index 100% rename from include/FEXCore/Debug/ContextDebug.h rename to External/FEXCore/include/FEXCore/Debug/ContextDebug.h diff --git a/include/FEXCore/Debug/InternalThreadState.h b/External/FEXCore/include/FEXCore/Debug/InternalThreadState.h similarity index 100% rename from include/FEXCore/Debug/InternalThreadState.h rename to External/FEXCore/include/FEXCore/Debug/InternalThreadState.h diff --git a/include/FEXCore/Debug/X86Tables.h b/External/FEXCore/include/FEXCore/Debug/X86Tables.h similarity index 100% rename from include/FEXCore/Debug/X86Tables.h rename to External/FEXCore/include/FEXCore/Debug/X86Tables.h diff --git a/include/FEXCore/HLE/Linux/ThreadManagement.h b/External/FEXCore/include/FEXCore/HLE/Linux/ThreadManagement.h similarity index 100% rename from include/FEXCore/HLE/Linux/ThreadManagement.h rename to External/FEXCore/include/FEXCore/HLE/Linux/ThreadManagement.h diff --git a/include/FEXCore/HLE/SyscallHandler.h b/External/FEXCore/include/FEXCore/HLE/SyscallHandler.h similarity index 100% rename from include/FEXCore/HLE/SyscallHandler.h rename to External/FEXCore/include/FEXCore/HLE/SyscallHandler.h diff --git a/include/FEXCore/HLE/SyscallVisitor.h b/External/FEXCore/include/FEXCore/HLE/SyscallVisitor.h similarity index 100% rename from include/FEXCore/HLE/SyscallVisitor.h rename to External/FEXCore/include/FEXCore/HLE/SyscallVisitor.h diff --git a/include/FEXCore/IR/IR.h b/External/FEXCore/include/FEXCore/IR/IR.h similarity index 100% rename from include/FEXCore/IR/IR.h rename to External/FEXCore/include/FEXCore/IR/IR.h diff --git a/include/FEXCore/IR/IntrusiveIRList.h b/External/FEXCore/include/FEXCore/IR/IntrusiveIRList.h similarity index 100% rename from include/FEXCore/IR/IntrusiveIRList.h rename to External/FEXCore/include/FEXCore/IR/IntrusiveIRList.h diff --git a/include/FEXCore/Memory/MemMapper.h b/External/FEXCore/include/FEXCore/Memory/MemMapper.h similarity index 100% rename from include/FEXCore/Memory/MemMapper.h rename to External/FEXCore/include/FEXCore/Memory/MemMapper.h diff --git a/include/FEXCore/Memory/SharedMem.h b/External/FEXCore/include/FEXCore/Memory/SharedMem.h similarity index 100% rename from include/FEXCore/Memory/SharedMem.h rename to External/FEXCore/include/FEXCore/Memory/SharedMem.h diff --git a/include/FEXCore/Utils/Event.h b/External/FEXCore/include/FEXCore/Utils/Event.h similarity index 100% rename from include/FEXCore/Utils/Event.h rename to External/FEXCore/include/FEXCore/Utils/Event.h