made commit optional, but default, to enable transaction support.