Updating with latest changes from upstream