diagonal down now works for arbitrary size