primitive generators