Much of economics is built on the assumption that individuals are driven by self-interest and economic development is an outcome of the free play of such individuals. On the few occasions that the existence of altruism is recognized in economics, the tendency is to build this from the axiom of individual selfishness. The aim of this paper is to break from this tradition and to treat as a primitive that individuals are endowed with the 'cooperative spirit', which allows them to work in their collective interest, even when that may not be in their self-interest. The paper tracks the interface between altruism and group identity. By using the basic structure of a Prisoner's Dilemma game among randomly picked individuals and building into it assumptions of general or in-group altruism, the paper demonstrates how our selfish rationality interacts with our innate sense of cooperation. The model is used to outline circumstances under which cooperation will occur and circumstances where it will break down. The paper also studies how sub-groups of a society can form cooperative blocks, whether to simply do better for themselves or exploit others.