worked on generic programming