Merge refactor changes from upstream