first force graph implementation