add data factory