Impedance spectroscopy: theory, experiment, and applications