progress on block logic