Super class and sub class refactoring