initial attempt at exercise... abstract server file and start tests