Merged everything else from upstream