added some more counters and completed the ping/ack logic

(still untested)