tighter transactions, possible incorrect