To this point, we have only considered agents that are homogeneous. Adding the possibility of heterogeneous agents in a multiagent domain adds a great deal of potential power at the price of added complexity. Agents might be heterogeneous in any of a number of ways, from having different goals to having different domain models and actions. An important subdimension of heterogeneous agent systems is whether agents are benevolent or competitive. Even if they have different goals, they may be friendly to each other's goals or they may actively try to inhibit each other. This aspect of heterogeneous systems, along with several others, is described below.