refactoring, undo manager, removing animation