switching my thinking a bit about how it should work