(BUILD BROKEN) wip work on splitting out compile.cpp