first pass at server