Updating with latest changes from upstream.