some changes in semantics, added a graph class, work in progress