all done with refactor and made a build system, need to clean up some of the namespaces but thats a minor refactoring issue