moved private api functions to the /private namespace