update readme
add recurse function