unfinish meta func