do we want this function to be public or not?