Better integrate transaction handling with the error M