added transactions and validation