type funcs