add unique 2d to utils and add doc to neighbor