change types to unint32_t where values are copied in or out network packets
add support for generic outputs