add some basic and smartpoint in STL