About Us  Timing and Management  RaceSmith Events  RaceSmith Results  Course Certification  Triathlon Bike Rack
 
BFAST Olympic Triathlon
Ponte Vedra Beach, FL
July 8, 2017
Timing and Results: RaceSmith, Inc.
Results Questions: Jacob@RaceSmith.com
 
                                        
OLYMPIC DISTANCE MALE OVERALL CHAMPION AND RUNNERS UP
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1     1   375 William Hartje           25 Neptune Beach             FL 2:08:58    1   21:27    2:37    1 1:04:07    0:56    1   39:53         
    2     2   393 Don Packard              51 Jacksonville              FL 2:21:35    4   24:57    2:32    5 1:09:40    1:02    2   43:26         
    3     3   442 Jerry Rothschild         49 Savannah                  GA 2:23:18    9   26:57    2:38    2 1:06:00    0:59    9   46:47         
OLYMPIC DISTANCE MALE MASTERS CHAMPION
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1     4   403 Brett Snyder             54 Ponte Vedra Beach         FL 2:26:33    2   25:39    2:23    5 1:11:53    0:50    1   43:50    2:00 
OLYMPIC DISTANCE TRIATHLON AGE GROUP RESULTS
MALE AGE GROUP:  1 - 14
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
MALE AGE GROUP:  15 - 19
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    56   357 Alec Berrier             19 Jacksonville              FL 3:15:12    2   35:36    3:01    1 1:28:26    1:19    1 1:06:52         
    2     0   381 William Holt             17 Roswell                   GA            1   25:47    3:56    2 1:31:36    1:37                      
MALE AGE GROUP:  20 - 24
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    25   395 Joe Pelt                 22 Perry                     FL 2:51:38    1   34:58    4:24    1 1:17:31    1:48    1   53:00         
    2    62   392 Robert Oliver            24 Jacksonville              FL 3:17:46    2   43:08    5:48    2 1:22:41    1:40    2 1:04:31         
MALE AGE GROUP:  25 - 29
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    28   373 John Fielding            29 Panama City               FL 2:52:55    1   28:48    3:18    1 1:14:49    1:14    2 1:04:47         
    2    31   443 Hess Warren              26 Jacksonville              FL 2:56:39    2   29:21    2:55    2 1:18:13    1:21    3 1:04:51         
    3    39   385 Michael Lima             27 Jacksonville              FL 3:02:59    3   29:58    4:13    3 1:25:11    1:19    1 1:02:19         
    4    71   399 Daniel Ryan              26 St. Johns                 FL 3:37:37    4   40:13    5:31    4 1:29:43    1:48    4 1:20:24         
MALE AGE GROUP:  30 - 34
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    24   386 Steven Lowenthal         32 Jacksonville              FL 2:49:24    3   31:43    3:30    1 1:18:14    1:12    1   52:46    2:00 
    2    32   441 David Lilly              31 Johnson City              TN 2:57:37    5   32:59    4:36    3 1:21:16    3:08    2   55:39         
    3    50   370 Andrew Elekes            32 Tallahassee               FL 3:08:46    2   31:06    4:47    2 1:21:10    1:44    3 1:10:00         
    4    59   390 Christopher Mesa         34 Chamblee                  GA 3:16:08    1   29:54    4:15    5 1:27:43    1:37    4 1:12:41         
    5    63   353 Matthew Anderson         34 Jacksonville              FL 3:18:47    4   32:44    5:17    4 1:21:21    2:45    5 1:16:43         
MALE AGE GROUP:  35 - 39
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    14   389 John McGovern            39 Jacksonville              FL 2:41:44    7   33:18    4:15    1 1:16:27    1:11    2   46:35         
    2    18   391 Michael Mohseni          38 Atlantic Beach            FL 2:45:51    6   32:52    4:48    2 1:19:46    1:54    1   46:33         
    3    23   410 Brian Wiley              39 Ponte Vedra Beach         FL 2:48:50    4   31:49    3:28    4 1:21:15    1:24    3   50:56         
    4    26   354 Michael Atack            39 Jacksonville              FL 2:52:05    2   27:07    3:27    6 1:23:16    1:38    4   56:39         
    5    29   412 Aaron Zahn               38 Neptune Beach             FL 2:53:38    1   24:40    3:34    7 1:25:12    1:50    5   58:25         
    6    33   365 Samuel Crozier           35 Ponte Vedra Beach         FL 2:58:18    3   31:39    2:58    3 1:20:58    1:52    6 1:00:53         
    7    44   444 Michael White            37 Ponte Vedra Beach         FL 3:05:00    5   32:52    4:52    5 1:22:41    1:20    7 1:03:18         
MALE AGE GROUP:  40 - 44
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1     5   360 Gray Camp                44 Jacksonville              FL 2:27:32    1   27:26    3:26    1 1:08:11    1:27    2   47:04         
    2     7   380 Nicholas Holian          43 Ponte Vedra               FL 2:30:46    3   28:39    3:03    3 1:13:35    1:25    1   44:06         
    3     9   408 Joe Ventura              40 Ormond Beach              FL 2:32:20    2   27:40    2:15    2 1:12:17    0:42    4   49:28         
    4    12   379 Todd Hockett             40 Ponte Vedra Beach         FL 2:37:13    4   29:10    2:34    4 1:16:11    0:47    3   48:33         
    5    30   366 Randy Cygan              42 St. Johns                 FL 2:56:36    6   31:14    3:13    7 1:20:45    1:45    5   59:41         
    6    37   396 Mark Ridings             44 Gainesville               FL 3:01:25    5   29:14    3:35    5 1:17:13    1:16    7 1:10:09         
    7    51   356 Matt Berquist            43 Ponte Vedra Beach         FL 3:09:24    7   31:50    4:35    8 1:28:59    2:39    6 1:01:23         
    8     0   362 Jamie Clarke             43 Ponte Vedra Beach         FL            8   32:23    4:40    6 1:18:45                              
MALE AGE GROUP:  45 - 49
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    10   361 James Cardozo            47 Macclenny                 FL 2:32:57    1   24:51    3:01    1 1:14:35    0:53    3   49:39         
    2    15   394 Matt Parks               45 Jacksonville              FL 2:42:03    4   33:01    3:36    2 1:17:11    1:36    1   46:41         
    3    17   364 Robert Conner            46 St. Augustine             FL 2:45:17    3   32:54    4:13    3 1:18:20    1:19    2   48:33         
    4    38   384 Craig Kornick            47 Jacksonville Beach        FL 3:02:08    5   36:25    3:38    6 1:22:51    1:59    4   57:17         
    5    45   411 Aaron Witt               49 Ponte Vedra Beach         FL 3:05:59    6   36:35    4:42    4 1:21:04    2:11    5 1:01:30         
    6    52   401 Chris Schraer            48 St. Augustine             FL 3:09:46    2   32:45    3:11    5 1:22:50    1:33    6 1:09:29         
MALE AGE GROUP:  50 - 54
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1     6   371 Juan Estrella            51 St. Augustine             FL 2:28:26    4   28:44    2:57    1 1:10:11    1:34    1   45:02         
    2    16   409 W. Craig Weyandt         52 Vero Beach                FL 2:43:35    2   28:08    2:40    4 1:23:02    0:49    2   48:59         
    3    20   405 Charles Sweeney          50 Gainesville               FL 2:46:16    5   31:18    2:55    2 1:17:38    2:10    3   52:16         
    4    22   355 Robert Ballou            53 St. Augustine             FL 2:48:40    1   26:52    3:27    3 1:19:31    1:18    4   57:35         
    5    36   400 Joe Savard               50 St. Augustine             FL 2:59:52    3   28:36    3:21    5 1:26:46    1:58    5   59:13         
    6    60   363 Doug Coats               53 Fleming Island            FL 3:16:31    6   35:26    4:18    6 1:29:23    1:34    6 1:05:52         
MALE AGE GROUP:  55 - 59
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1     8   406 Mark Szymanski           56 Gainesville               FL 2:31:02    1   25:42    2:34    2 1:10:17    0:39    2   51:52         
    2    27   367 Tim Dohaney              55 Ponte Vedra               FL 2:52:37    2   31:58    4:32    3 1:23:31    1:55    1   50:43         
    3    41   404 Dan Stevens              58 St. Augustine             FL 3:03:17    4   33:55    4:30    4 1:24:45    2:14    3   57:55         
    4    57   407 Ken Tosky                55 Okatie                    SC 3:15:15    6   36:07    3:44    5 1:25:15    2:13    5 1:07:58         
    5    65   378 William Hernandez        56 Ponte Vedra Beach         FL 3:20:55    7   37:46    3:57    6 1:27:02    1:31    6 1:10:41         
    6    69   359 Steven Boyne             59 Ponte Vedra               FL 3:29:46    5   34:56    6:19    7 1:32:05    2:49    7 1:13:40         
    7    75   398 Jeddy Ruiz               56 Pensacola                 FL 3:48:37    8 1:01:29    5:39    8 1:32:51    2:04    4 1:06:36         
    8     0   387 Douglas Malie            56 Atlantic Beach            FL            3   32:37    5:21    1 1:07:50                              
MALE AGE GROUP:  60 - 64
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    40   397 Nelson Rodriguez         60 Rochelle                  GA 3:03:12    3   37:20    3:24    1 1:23:49    1:16    1   57:24         
    2    72   368 Chip Drysdale            60 Atlantic Beach            FL 3:37:56    2   31:33    5:29    2 1:32:20    2:24    2 1:26:12         
    3    76   358 Rob Borcherding          60 St. Johns                 FL 3:53:47    1   29:49    6:48    3 1:32:42    5:19    3 1:39:12         
MALE AGE GROUP:  65 - 69
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    46   402 Patrick Schultz          66 Ponte Vedra               FL 3:06:56    1   36:43    4:42    1 1:26:01    2:01    1   57:31         
MALE AGE GROUP:  70 - 74
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
MALE AGE GROUP:  75 - 79
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
MALE AGE GROUP:  80 - 84
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
MALE AGE GROUP:  85 - 99
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
OLYMPIC DISTANCE FEMALE OVERALL CHAMPION AND RUNNERS UP
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    11   436 Naomi Ventura            40 Ormond Beach              FL 2:36:25    3   28:43    2:51    1 1:16:13    0:51    2   47:49         
    2    13   426 Melanie Leitman          33 Tallahassee               FL 2:40:07    2   28:24    2:30    3 1:19:24    0:53    3   48:59         
    3    19   435 Chrissy Sandland         41 Jacksonville Beach        FL 2:46:07    4   28:44    2:59    2 1:16:23    1:06    6   56:58         
OLYMPIC DISTANCE FEMALE MASTERS CHAMPION
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    34   414 Nadia Bertin             48 Rochelle                  GA 2:58:44    3   33:08    3:12    2 1:24:01    1:14    4   57:11         
OLYMPIC DISTANCE TRIATHLON AGE GROUP RESULTS
FEMALE AGE GROUP:  1 - 14
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  15 - 19
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  20 - 24
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  25 - 29
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  30 - 34
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    21   438 Jennifer Weber           34 Jacksonville Beach        FL 2:47:21    1   25:53    2:46    1 1:22:05    0:43    1   55:55         
    2    53   417 Danielle Carter          33 Jacksonville              FL 3:10:56    2   32:50    5:15    2 1:24:43    2:41    2 1:05:29         
FEMALE AGE GROUP:  35 - 39
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    55   425 Vanessa Law              38 Jacksonville              FL 3:14:52    2   35:04    4:01    2 1:28:15    1:39    2 1:05:55         
    2    58   420 Katie Cunningham         39 Tallahassee               FL 3:16:07    1   32:33    4:17    1 1:24:41    2:12    3 1:12:26         
    3    66   421 Rachel Eddy              35 Jacksonville              FL 3:24:26    3   35:51    4:31    3 1:41:25    1:48    1 1:00:54         
FEMALE AGE GROUP:  40 - 44
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    43   437 Sarah Walton Byfield     40 Pensacola                 FL 3:04:30    1   32:34    3:16    1 1:25:45    1:16    3 1:01:40         
    2    47   415 Jeanne Boyle             41 Pensacola                 FL 3:07:48    2   33:32    3:13    3 1:30:48    1:19    1   58:57         
    3    64   423 Teresa Kinstle           43 Jacksonville Beach        FL 3:20:39    4   35:42    3:54    2 1:30:20    2:19    4 1:08:26         
    4    67   419 Gillian Cox              43 Ponte Vedra Beach         FL 3:27:56    3   35:39    6:14    4 1:43:24    1:36    2 1:01:06         
FEMALE AGE GROUP:  45 - 49
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    35   431 Victoria Peterson        47 St. Johns                 FL 2:58:58    1   29:09    3:34    1 1:27:57    1:15    2   57:05         
    2    49   424 Jeanine Latimer Parkes   47 Atlantic Beach            FL 3:08:24    3   36:35    3:53    2 1:29:43    2:39    1   55:35         
    3    73   427 Sushma KC Manandhar      46 St. Johns                 FL 3:40:59    4   44:06    6:20    3 1:35:31    1:55    3 1:13:09         
    4    77   428 Bridget Murphy           45 Long Beach                NY 3:55:03    2   35:55    5:34    4 1:51:56    4:31    4 1:17:10         
FEMALE AGE GROUP:  50 - 54
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    42   432 Jennifer Price           50 Jacksonville              FL 3:04:18    2   34:17    4:02    1 1:23:53    1:51    2 1:00:17         
    2    48   418 Lisa Contino             54 Ormond Beach              FL 3:08:05    4   38:49    3:19    4 1:38:00    1:16    1   46:43         
    3    54   440 Judi Cowart              54 Jacksonville Beach        FL 3:14:06    1   34:02    3:08    2 1:25:34    1:49    5 1:09:35         
    4    68   439 Teri Weyandt             53 Vero Beach                FL 3:29:01    6   42:04    4:36    3 1:33:01    2:01    4 1:07:21         
    5    70   413 Joanie Barrett           50 Fleming Island            FL 3:33:13    5   39:09    5:18    5 1:38:25    4:45    3 1:05:39         
    6    74   434 Cynthia Ryan             51 Ponte Vedra               FL 3:46:32    7   42:38    6:48    6 1:40:04    2:45    6 1:14:20         
    7     0   433 Page Ritter-Soule        52 Winter Park               FL            3   34:48    3:53    7 2:03:15                              
FEMALE AGE GROUP:  55 - 59
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    61   429 Sharon Opkins            55 St. Johns                 FL 3:17:29    1   33:18    3:12    1 1:31:13    1:25    1 1:08:23         
FEMALE AGE GROUP:  60 - 64
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  65 - 69
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
    1    78   422 Marsha Hoffman-Vaile     68 St. Johns                 FL 4:00:36    1   42:24    7:06    1 1:42:21    2:50    1 1:25:58         
FEMALE AGE GROUP:  70 - 74
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  75 - 79
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  80 - 84
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
FEMALE AGE GROUP:  85 - 99
Place O'All No.   Name                    Age City                      St Time    Rank Swim    Tran 1  Rank Bike    Tran 2  Rank Run     Penalty    
===== ===== ===== ======================= === ========================= == ======= ==== ======= ======= ==== ======= ======= ==== ======= ======= 
USAT PENALTY LIST 
RaceSmith cannot address penalty issues
Penalty Issues: USAT Official
No.   Rule Violation                 Time       
===== ============================== ======= 
  386 5.10a Drafting                    2:00 
DISQUALIFICATIONS
No.   Rule Violation                                Time    Swim    Tran 1  Bike    Tran 2  Run        
===== ============================================= ======= ======= ======= ======= ======= =======