Very many changes to packet. Includes methods to handle buffers and
changing packet to and from hex string