added passes options to enanble multiple passes of matrix