implement functional operations for object-array