more flexible chapter split, refactor is done