refactor the block array