letting __exit__ in contextmanager do the commit