add some documentation in new_block function
add free_block function