A more logical model

Doesn't work yet.