sort of what I want, not quite the right data structure
start setting it up so we can set the return type