code handles network drops. Overuses acks and can only progress to next packet on previous ack. Network inefficient but funtional