more progress on block logic