Better validations on transaction