Merged changes from Upstream