update to uint64, change test structure, and add initial transaction support