chain disk io operations; separate library save delegate method