modified is_array func