Transaction support

Yeah that makes sense, the conditional logic doesn't make it clear that its expected to be mutually exclusive