gen proto