add tests and implement TransactionAssociationSet