use payload after it is initialized