Something broken here, added a bunch of structure to give a better idea of how things should go.