updated listfunc