finished AbstractPacketProtocol