server is partially in place, but it needs to be refactored, we need to hook up callbacks etc still, tmp commit