this does a better job of matching my understanding