packetlib without packetlib