recursive rendering of list items