added diagonal and march pattern