classs refactoring