The social forces affecting the performance of codeswitching (CS) may be distinguished from those factors controlling its basic structure, with which they interact. The constraints on possible patterns in CS are largely under innately based controls. These constraints are presented here in a model of intrasentential CS, and their validity is tested against findings of CS practices in a number of communities; all options can be accounted for under the model. Thus the options for CS structures seem universally set; but community-specific or group-specific social forces may determine which permissible patterns are preferred. In addition, micro-level, discourse-based factors may prompt individuals to produce certain CS structures. A second model of the social motivations for CS helps explain both the macro-and micro-level preferences. (Bilingualism, codeswitching, language contact, socio-pragmatics)* At first glance, the structural "mix" of languages in codeswitching (hereafter CS) seems very diverse. Furthermore, many speakers who frequently engage in CS become rugged individualists when they report on their own CS performance, insisting that their form of CS is a law unto itself. Yet a search for universally valid constraints marks much of the extensive research on CS in the last 10 years.Nevertheless, counterexamples to far-reaching claims, rather than support, prevailed at the end of the 1980s. This state of affairs has stimulated two types of responses. Bentahila & Davies (1992:444) argue that the effects of social and psychological factors on structural patterns have been neglected:The reason why the search for universal constraints has not been more successful, we suspect, is that it has tended to focus almost exclusively on the syntactic dimension of code-switching, treating switching patterns as purely structural phenomena rather than setting them within a social and psychological context . . . In particular, we feel that more attention should be