implement the mini stl