CreateGeneric refactor, part 1