Almost finished C++ code
Almost finished coding

Needs to refactor now

And manual tests