Almost done, got most of the work done just cleaning up errors and
mistakes