Revamping Project to use header files and stuff

instead of everything being in the main function, this will be easier to
understand, and shorter.  (W.I.P with multiple issues that will be
fixed, currently cannot compile because of linker error 2005.)