add protocol and server package structure