enhance performances with DB transactions