move functions to Private directory