Why do some functions start with an underscore and others not?