Added transaction types
Throw an exception on unknown transaction type
Added transaction types
Setting to/from account based on amount not type