add array functions