some incremental work, I think I have to think a bit more about how this architecture will work.