Initial refactor
Adding documentation
Building files for debug
Updated documentation and changed inheritance