NiMo (Nets in Motion) is a visual environment aimed to support totally graphic programming in Data Flow style, with a strong functional inspiration. It enables the user to describe solutions of growing complexity using a small set of graphic primitives. NiMo language allows multiple output channels and adds graphic representation to deal with functional concepts like higher order, partial application, laziness, polymorphism and type inference. The environment is based on a graph transformation system, by means of which execution can be done step by step. NiMo intends to be a workbench for editing, debugging, executing and experimenting. Nets are built and run using a uniform conceptual framework. The net to be initially executed is exactly the one drawn by the user. It evolves showing all transformations of data and processes. The most distinguishing characteristic of NiMo is allowing the user to change the state of the execution (data, processes and/or control) in an interactive way.