notes for generic