The concept of machine can be extended to the molecular level by designing and synthesizing (supra)molecular species capable of performing mechanical movements. The energy needed to make a machine work can be supplied as chemical energy, electrical energy, or light. When a chemical "fuel" is used, waste products are formed, whereas this is not the case when suitable photochemical or electrochemical energy inputs are employed. A number of elementary functions performed by molecular-level machines are illustrated, and more complex ones are foreseen.