lots of small changes, diff for a full rundown of what changed