add beginTransactionOnNext feature and test