does this need to be public (in the header)?