Code taken from D3 example