Make shortcut/execute exception safe and use a transaction