privatize functions