public vs private functions
A private function can only be used inside of it's parent function
or module.
A public function can be used inside or outside of it.
Public functions can call private functions inside them, however,
since they typically share the same scope