I cleaned up IMGTX's diagram a little. Thanks IMGTX for posting it.