builds, but far from working - zero cpp changes for easier history reading *except main -> old_main in main.cpp