add example and recfun