creates a pnp dsl for describing the transactions, and change the app to use it