Merge pull request #3 from samm81/transaction

Splitting Up
Merge remote-tracking branch 'origin/master' into transaction
Well, I did something.
Partial enums. Will rebase on Sam's changes later.