add first implementation of graph