Here's an overview: