made some functions private