How do we process a transaction?