In-depth guide to heat pumps