updated transaction and tests