Properly scoped all classes and methods to hide private functions and vars