initial commit

Initial Commit, a LOT of work has been done on this.