this is a pretty good diagram that gets passed around