adds basic server architecture

this seems like an unnecessary comment given the function names