switch to using generic collections