add block operation