move external code to thirdparty submodule