use stl vectors