LOTS of changes, added files of proposed changes by chris that we can try and implement