consolidate payload/header stuff - unnecessary separation is bad