added genericlist class