working on generated types