splitting work into BlockProp