add more is_array check