improving modification management
refactoring classes + undo implementing
protecting actions