A more polished CPP Code

Made this more modular.  Threw repetitive tasks into functions.  Added a
TON of comments.  Got a basic Prototype up and running :)