Updating Richard branch from Master