variable payload length, buggy