refactored structure, modified form ...