laying out the base server and subprotocol handler