added dataType in factory