add for array
modified more