Move validation out of transaction
Move unnecessary code out of transaction
Clean up transaction
Start moving chip logic down into user