todo: handle RegisterPacket