optionally accept points instead of separate x,y,z values