Updated with even more generics

Updated with even more generics, 1 failed test case