add new_block function