Bringing in updates from upstream

@jrwdunham you should merge this before starting the import