copyright notice and class refactoring