these are all of seans changes
fixed code and merge conflicts all seans additions are in