changed geometric functions to take lists/numpy arrays instead of point objects