added array functions