made list a low-level data structure: no retain/release, no virtual methods