working on block manipulation