Why do you need this function to be public?