changed *current-transaction* into a dynamic var