avoid unnecessary  intermediate collection
use mutable min/max vars to avoid a couple passes through patches
normalize and assign directly, avoiding other unnecessary patches iterations