it seems multiple source files for each part break, and I don't quite know why
This is the first version of the code which works.