optimizing with block considerations