new payload constructor with useBody