added in support for DB transactions