Although no single buffer solution is compatible with all protein types, certain buffers are suitable for a broad range of proteins. Most buffers contain a buffering agent (e.g. Tris-HCL) to maintain the pH of the solution. They also typically contain salts (e.g. NaCl, KCl), detergents (e.g. SDS, Tween-20), nuclease inhibitors (e.g. EDTA), reducing agents (DTT), and protease inhibitors (e.g. PMSF).