dividing up subjects, fixing miscellaneous code errors