diff --git a/user_guide/libraries/database/transactions.html b/user_guide/libraries/database/transactions.html
index 99b82a5..41f27fc 100644
--- a/user_guide/libraries/database/transactions.html
+++ b/user_guide/libraries/database/transactions.html
@@ -66,8 +66,108 @@
 

 <h1>Transactions</h1>

 

-<p>The following page contains example code showing how the database class is used.  For complete details please

-read the individual pages describing each function.</p>

+<p>Code Igniter's database abstraction allows you to use <dfn>transactions</dfn> will databases that support transaction-safe table types.  In MySQL, you'll need

+to be running InnoDB or BDB table types rather then the more common MyISAM.  Most other databases support transactions natively.</p>

+

+<p>If you are not familiar with 

+transactions we recommend you spend some time learning about them for your particular database.  The information below assumes you 

+have a basic understanding of transactions.

+</p>

+

+<h2>Code Igniter's Approach to Transactions</h2>

+

+<p>Code Igniter utilizes an approach to transactions that is very similar to the popular database class ADODB.  We've chosen that approach

+becuase it greatly simplifies the process of running transactions.  In most cases all that is required are two lines of code.</p>

+

+<p>Traditionally transactions have required a fair amount of work to implement since they demand that you to keep track of your queries

+and determine whether to <dfn>commit</dfn> or <dfn>rollback</dfn> based on the success or failure of your queries. In contrast,

+we've implemented a smart transaction system that does all this for you automatically (you can also manage your transactions manually if you choose to).</p>

+

+<h2>Running Transactions</h2>

+

+<p>To run your queries using transactions you will use the <kbd>$this->db->trans_start()</kbd> and <kbd>$this->db->trans_complete()</kbd> functions as follows:</p>

+

+<code>

+<kbd>$this->db->trans_start();</kbd><br />

+$this->db->query('AN SQL QUERY...');<br />

+$this->db->query('ANOTHER QUERY...');<br />

+$this->db->query('AND YET ANOTHER QUERY...');<br />

+<kbd>$this->db->trans_complete();</kbd>

+</code>

+

+<p>You can run as many queries as you want between the start/complete functions and they will all be committed or rolled back based on success or failure.</p>

+

+

+<h2>Managing Errors</h2>

+

+<p>If you have error reporting enabled in your <dfn>config/database.php</dfn> file you'll see a standard error message if the commit was unsuccessful. If debugging is turned off, you can

+manage your own errors like this:</p>

+

+<code>

+$this->db->trans_start();<br />

+$this->db->query('AN SQL QUERY...');<br />

+$this->db->trans_complete();<br />

+<br />

+if (<kbd>$this->db->trans_status()</kbd> === FALSE)<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;// generate an error....<br />

+}

+</code>

+

+

+<h2>Enabling Transactions</h2>

+

+<p>Transactions are enabled automatically the moment you use <kbd>$this->db->trans_start()</kbd>.  If you would like to disable transactions you

+can do so using <kbd>$this->db->trans_off()</kbd>:

+

+<code>

+<kbd>$this->db->trans_off()</kbd><br /><br />

+

+$this->db->trans_start();<br />

+$this->db->query('AN SQL QUERY...');<br />

+$this->db->trans_complete();

+</code>

+

+<p>When transactions are disabled, any queries will be auto-commited, just as they are when running queries normally.</p>

+

+

+<h2>Test Mode</h2>

+

+<p>You can optionally put the transaction system into "test mode", which will cause your queries to be rolled back -- even if the queries produce a valid result.

+To use test mode simply set the first parameter in the <kbd>$this->db->trans_start()</kbd> function to <samp>TRUE</samp>:

+

+<code>

+$this->db->trans_start(</kbd><samp>TRUE</samp><kbd>);<br />

+$this->db->query('AN SQL QUERY...');<br />

+$this->db->trans_complete();

+</code>

+

+

+<h2>Running Transactions Manually</h2>

+

+<p>If you would like to run transactions manually you can do so as follows:</p>

+

+<code>

+$this->db->trans_begin();<br /><br />

+

+$this->db->query('AN SQL QUERY...');<br />

+$this->db->query('ANOTHER QUERY...');<br />

+$this->db->query('AND YET ANOTHER QUERY...');<br />

+

+<br />

+

+if ($this->db->trans_status() === FALSE)<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;$this->db->trans_rollback();<br />

+}<br />

+else<br />

+{<br />

+&nbsp;&nbsp;&nbsp;&nbsp;$this->db->trans_commit();<br />

+}<br />

+</code>

+

+<p class="important"><strong>Note:</strong> Make sure to use <kbd>$this->db->trans_begin()</kbd> when running manual trasactions, <strong>NOT</strong>

+<dfn>$this->db->trans_start()</dfn>.</p>