pass by reference, us bool, and remove references to server whereever possible in prep to invert the references