added array factories