block-based editing