added the server; almost finished