add collect
add an example