add array IO