# New features Rework and vastly improve the ImpedanceModel class. Add a new TransverseMapSector element to tracking between two positions. Add the transverse_map_sector_generator convenience function which generate a list of TransverseMapSector elements from a ring with an AT lattice. Update the Optics class to be able to compute the phase advance at any location on the lattice. Add a new method to BeamLoadingEquilibrium to compute the PTBL threshold. Add the lcbi_stability_diagram function to plot the longitudinal coupled bunch instability stability diagram for a arbitrary list of CavityResonator objects. Improve the lcbi_growth_rate_mode and lcbi_growth_rate functions. Add save and load methods for Bunch and Beam objects. Improve the PhysicalModel class, the change_values and taper methods are now more pratical to use and add get_aperture and plot_resistivity methods. Add Synchrotron.get_adts method which computes ADTS from AT lattice. Add read_ABCI, read_ECHO2D and improve read_CST functions to import external data. Add a plot method for both Impedance and WakeFunction class. Added class representation for ComplexData, Impedance, WakeFunction, WakeField, Bunch and Beam classes. Rework the deconvolution/from_wakepotential/to_impedance methods for them to work with any data loaded in the Impedance/WakeFunction classes and not just CST text files. Improved WakeField class by adding __iter__ and __add__ methods. Add new Jupyter notebooks for collective effects and bunch by bunch feedback. # Bugfix Fix Coating impedance convention. Fix ADTS implementation in TransverseMap to use Jx/Jy instead of x/y. Fix ImpedanceModel.power_loss_spectrum that needs a double sided impedance spectrum. Fix ExponentialDamper class. Fix a hard coded value of 0.5 A in BeamLoadingEquilibrium class. Fix transverse wake sign in get_gaussian_wakepotential.