change payload API, reimplement payload lg
update msg with zero values
add first msg queue implementation