Working on implementing generic class