re-working arp parser