simplified payload constructor