make the internal messages private?