Things TODO. Write more tests. Try to test every function with at least two valid and one invalid value. For templates test with at least two primitive as well as one class data type. Replace the IO stream library with an unbuffered version. This should be both easier to maintain as well as result in smaller code. Remember that pbackfail and similar functions must work properly according to spec. Change ostream code so that it uses fill/width properly Clean up the list header - factor out common code of many of the function to make everything smaller - maybe Convert bitset code to a common code-base to factor out code. This should cut down code size at the cost of additional performance overhead. Clean up istream code so that a lot of the checking for stuff is put into the sentry class. Find out why utilities pair operator= isn't working correctly