private funs