update with fixes to generic types