STL Programming from the Ground Up