not copying y, only streaming
support for multiple random cuts
moved scoring into separate function
extrema not using memory copy