try to simulate the STL