add setfuncs