micro optimization thanks to @betawaffle