Refactoring: See notes for change list