One of the important discussions in moral philosophy concerns the origins of morality or, in other words, the foundations, on which morality is based. There have been different theories in this regard that have based morality on natural law or human NATURE or human need or agreements made between the persons. Some of these theories, such as the agreement theory suffers from fundamental problems and cannot explain many of our moral experiences. Others such as the human NATURE theory are faced with difficulties, but it seems possible to develop a version of them that can answer to all the objections. The theory developed here has similarities with the human NATURE and the human need theories, but tries to avoid their problems. In this paper, in addition to the explanation of the NATURE of morals and the difference between them and customs, origins of morality are studied and the idea that morality is simply based on self-love is criticized. Genuine needs of human beings are emphasised on and their role in the process of decision making is discussed. The paper also studies the way moral concepts such as "good" and "bad" are abstracted from the relation between human NATURE, voluntary acts and their positive or negative effects upon the agent.