! ... |     ...
          ! ... |     ...
          ! ... |     ...
          ! ... |     ...
          ! ... |     ...
          ! ... |     ...
          ! ... |     ...