add block-based writing and comments