progress on graph-canvas as separate component
graph-canvas as separate component