add block function