get generics right, make public list unmodifiable and insertions type safe
get generics right, make public list unmodifiable and insertions type safe