This is the best explanation I have seen so far.