oops commit
improved forward and backward substitution routines