more updates to transaction api, general cleanup