rename private functions to _func