Implemented the bulk of the changes, still needs UI massage