initial commit of C++ code. This will all be re-written but I'm just putting this up as the baseline for now