Lots of changes

Signed-off-by: John McCutchan <john@johnmccutchan.com>