Merge with upstream caf changes