make all functions and vars private