push from private repo; includes Xach's work on transactions and many improvements and bugfixes