Improved on some structural issues, also revising my method for computing final states.