struct-graph implemented