Graphical notations are already popular for the design of software, as witnessed by the success of the Uniform Modeling Languages (UML). In this paper, we advocate the use of graphs and graph transformation for programming graph-based systems. Our case study, the flattening of hierarchical statecharts, reveals that cloning, a recently proposed transformation concept, makes graph transformation rules (in the double-pushout approach) more expressive. Thus programming becomes easier, and gets along with simpler control conditions in particular. Key words: Statecharts, Graph transformation, Clones