+ packet structure
+ abstract packet generator