using native array to replace STL list