Is there a specific reason not to use the stl? Much code could be saved by using standard template classes like vector or list. For example, all or most of the code in List.h could be removed.