check all interface methods implemented - check generics