Ok heres the basic idea for the paper. Id like to present a more or less novel way to represent programs. A program is a graph. The nodes are typed containers the edges are functions, whose domain and codoamain match the attached containers types. The edges of the graph are usable with the usual arrow operations. That is you can fold the big graph into a smaller one by applying the arrow operations until you come up with a single edge. Further the graph is representing a topology and thus you can glue the graph to other graphs. This is quite novel since usually in automaton theory you just can concaternate FSMs and such but you are not able to glue a graph into another or cut it at precise points. The gule and the folding will allow you to build quotient spaces on these graphs, which is quite useful if you want to program with these graphs and also it is quite a nice way to analyse programs. Also if you have non deterministic graphs, ie a program that has two possible paths from a source to a sink you can compare these for runtime speed and choose the faster one then cap the slower path. All this will make it necessary to implement an interpreter for the graph programs. The folded programs are like compiled programs and would not anymore require the interpreter. One problem if this approach (the folding) is cyclic structures of the graph. Implicitly i have the feeling that category theory is also a nice addition for these graphs. First i think that they at least form a weak cartesian closed category and maybe even a topos. fields this paper would target at would be: language concepts concurrent/parallel programming concurrent/parallel program execution compilation techniques automatic program generation tools and programming techniques