add more array-friendly functionality