add support for transaction method