new transaction specs, removed specs too tightly bound to implementation