added diag left
added backwards capability