Honestly just looking at the name, I'd expect the behavior you implemented here -- maybe the 2D one should be renamed?  They probably shouldn't have the same name, as that might be misleading.