intermediate commit with some more structuring