first server implementation
prelim client