Condensed into one function but cannot add othodiagonally.