refactoring to use storage server transactions instead of direct DB transactions