The Baseball Cube

J.B. Wendelken  

J.B. Wendelken  

Reno Aces (AAA) [ARI] |In Minors

MORE  
Proper Name:
Jeffrey Benjamin Wendelken
High Level:
MLB (2016-2022)
pos:
p (336)
Height:
6-1
Weight:
242
Bats:
Right
Throws:
Right
Born:
age:
29.186
place:
colleges:
Drafted:
Boston Red Sox  -  2012  -  13 - 421 (June-Reg)more
Signing Bonus:
$ 100,000
draft posit:
P
MLB Debut:
repertoire:
[2021] ... 4-Seam Fastball (94.3) [50.5%] ... Slider (83.5) [23.6%] ... Sinker (93.2) [13.8%] ... Changeup (85.9) [9.6%] ... Curveball (79.7) [2.5%]
TBC#:
171298
MLBAM ID:
Retrosheet:
Strikeouts
64
Walks
48
Hittable
59
SO/BB
57
vsPower
59
Hitting
0
Durability
56
Team
.506
Player Notes:  
Subscribe to TBC PREMIUM ... Surf ad-free, get the daily PLAYER TRACKER (take a tour), access to ... more
than a dozen research applications including Player Comparison tool, analysis features and additional datagrid functionality!
Pitching Statistics
*Reload page to restore grid
Grid Actions:
PREMIUM subscribers get additional grid functionality
Tips/tools for using data grids:

  • Manual Filter: Single-click a row to highlight in orange. Click FILTER ROWS button to show only those rows in the grid
  • Quick-Filter: Double-Click on a cell value to filter the grid on rows that have same value in same column. Click a statistic to view all values equal or higher
  • Select Rows: Single-click rows to select multiple rows for future action or visibility.
  • Hide Rows: Click the` minus sign in the first column to hide the row in the grid.
  • Restore Rows: Once rows are filtered, click RESTORE ROWS to show all rows once again
  • Sort: Click a column in the first header row to sort data by values in that column. Click again to reverse the original sort. Some cells have custom sort keys that will sort them logically instead of alphanumerically.
  • Compare/Analyze: Click multiple rows for players of interest. In addition to filtering, you can quickly COMPARE player stats or use the MULTI-PLAYER STAT VIEWER to view multiple player cards on the same page.
  • Leaders: On stat grids. Top-10 ranked statistics are highlighted in gray. #1 rank is in light green. (PREMIUM setting)
  • Export to CSV: Click CSV to convert the full grid into a comma-delimeted display. From there, you can copy/paste to another application.
year team name league level org age   # role   w   l   g gs cg sh gr gf sv ip   h   r er hr bb so wp bk hb era whip h9 hr9 bb9 so9 ra9 so/bb
2012 Gulf Coast Red Sox GCL Rk bos 19 53 Reliever 2 0 13 0 0 0 13 3 2 21.1 11 3 3 0 3 28 0 1 0 1.27 0.66 4.64 0.00 1.27 11.81 1.27 9.33
2013 Greenville Drive SAL A bos 20 24 Closer 2 0 27 0 0 0 27 18 10 65.0 59 20 20 4 20 54 6 2 3 2.77 1.22 8.17 0.55 2.77 7.48 2.77 2.70
2013 Kannapolis Intimidators SAL A cha 20 -- Closer 0 1 3 0 0 0 3 2 2 4.2 8 5 5 0 1 8 1 0 0 9.64 1.93 15.43 0.00 1.93 15.43 9.64 8.00
2013 Winston-Salem Dash Caro A+ cha 20 32 Reliever 0 1 6 0 0 0 6 3 0 9.1 12 6 5 1 7 16 3 0 0 4.82 2.04 11.57 0.96 6.75 15.43 5.79 2.29
2014 Winston-Salem Dash Caro A+ cha 21 24 Starter 7 10 27 27 1 0 0 0 0 145.2 181 105 85 15 33 129 4 0 5 5.25 1.47 11.18 0.93 2.04 7.97 6.49 3.91
2015 Birmingham Barons Sou AA cha 22 34 Reliever 6 2 27 0 0 0 27 17 5 43.0 36 14 13 4 11 56 0 0 0 2.72 1.09 7.53 0.84 2.30 11.72 2.93 5.09
2015 Charlotte Knights IL AAA cha 22 28 Reliever 0 0 12 0 0 0 12 6 0 16.0 14 11 8 2 5 13 0 0 0 4.50 1.19 7.88 1.12 2.81 7.31 6.19 2.60
2016 Nashville Sounds PCL AAA oak 23 14 Reliever 1 4 39 0 0 0 39 16 5 46.0 48 25 21 5 26 65 5 0 4 4.11 1.61 9.39 0.98 5.09 12.72 4.89 2.50
2016 Oakland Athletics AL MLB oak 23 64 Reliever 0 0 8 0 0 0 8 3 0 12.2 18 15 14 3 9 12 2 0 0 9.95 2.13 12.79 2.13 6.39 8.53 10.66 1.33
2018 Midland RockHounds Tex AA oak 25 -- Closer 0 1 11 0 0 0 11 7 3 13.1 11 6 5 3 10 23 0 0 0 3.38 1.58 7.43 2.03 6.75 15.53 4.05 2.30
2018 Nashville Sounds PCL AAA oak 25 -- Rel/St 1 1 22 1 0 0 21 9 3 35.1 29 11 11 2 10 52 1 0 0 2.80 1.10 7.39 0.51 2.55 13.25 2.80 5.20
2018 Oakland Athletics AL MLB oak 25 57 Reliever 0 0 13 0 0 0 13 3 0 16.2 8 1 1 1 5 14 1 0 0 0.54 0.78 4.32 0.54 2.70 7.56 0.54 2.80
2019 Las Vegas Aviators PCL AAA oak 26 -- Rel/St 6 3 30 1 0 0 29 19 3 38.2 47 26 24 8 19 43 3 0 2 5.59 1.71 10.94 1.86 4.42 10.01 6.05 2.26
2019 Oakland Athletics AL MLB oak 26 57 Reliever 3 1 27 0 0 0 27 4 0 32.2 21 14 13 2 9 34 2 0 2 3.58 0.92 5.79 0.55 2.48 9.37 3.86 3.78
2020 Oakland Athletics AL MLB oak 27 57 Reliever 1 1 21 0 0 0 21 6 0 25.0 17 8 5 2 11 31 2 0 0 1.80 1.12 6.12 0.72 3.96 11.16 2.88 2.82
2021 Las Vegas Aviators PCL2 AAA oak 28 -- Reliever 0 0 4 0 0 0 4 0 0 5.0 2 2 2 1 2 5 0 0 1 3.60 0.80 3.60 1.80 3.60 9.00 3.60 2.50
2021 Oakland Athletics AL MLB oak 28 48 Reliever 2 1 26 0 0 0 26 6 0 25.0 29 15 12 2 13 26 4 0 0 4.32 1.68 10.44 0.72 4.68 9.36 5.40 2.00
2021 Arizona Diamondbacks NL MLB ari 28 48 Reliever 2 2 20 0 0 0 20 9 2 18.2 15 9 9 2 9 13 0 0 0 4.34 1.29 7.23 0.96 4.34 6.27 4.34 1.44
2022 Reno Aces PCL2 AAA ari -- -- Reliever 5 1 19 0 0 0 19 13 4 23.0 11 8 7 0 9 31 2 0 3 2.74 0.87 4.30 0.00 3.52 12.13 3.13 3.44
2022 Arizona Diamondbacks NL MLB ari -- -- Reliever 2 1 29 0 0 0 29 6 0 29.0 25 18 17 4 14 21 1 0 1 5.28 1.34 7.76 1.24 4.34 6.52 5.59 1.50
2012 Rk Total -- BOS -- -- Reliever 2 0 13 0 0 0 13 3 2 21.1 11 3 3 0 3 28 0 1 0 1.27 0.66 4.64 0.00 1.27 11.81 1.27 9.33
2013 A+ / A Total -- BOS,CHA -- -- Closer 2 2 36 0 0 0 36 23 12 79.0 79 31 30 5 28 78 10 2 3 3.42 1.35 9.00 0.57 3.19 8.89 3.53 2.79
2014 A+ Total -- CHA -- -- Starter 7 10 27 27 1 0 0 0 0 145.2 181 105 85 15 33 129 4 0 5 5.25 1.47 11.18 0.93 2.04 7.97 6.49 3.91
2015 AA / AAA Total -- CHA -- -- Reliever 6 2 39 0 0 0 39 23 5 59.0 50 25 21 6 16 69 0 0 0 3.20 1.12 7.63 0.92 2.44 10.53 3.81 4.31
2016 AAA Total -- OAK -- -- Reliever 1 4 39 0 0 0 39 16 5 46.0 48 25 21 5 26 65 5 0 4 4.11 1.61 9.39 0.98 5.09 12.72 4.89 2.50
2016 MLB Total -- OAK -- -- Reliever 0 0 8 0 0 0 8 3 0 12.2 18 15 14 3 9 12 2 0 0 9.95 2.13 12.79 2.13 6.39 8.53 10.66 1.33
2018 AAA / AA Total -- OAK -- -- Rel/St 1 2 33 1 0 0 32 16 6 48.2 40 17 16 5 20 75 1 0 0 2.96 1.23 7.40 0.92 3.70 13.87 3.14 3.75
2018 MLB Total -- OAK -- -- Reliever 0 0 13 0 0 0 13 3 0 16.2 8 1 1 1 5 14 1 0 0 0.54 0.78 4.32 0.54 2.70 7.56 0.54 2.80
2019 AAA Total -- OAK -- -- Rel/St 6 3 30 1 0 0 29 19 3 38.2 47 26 24 8 19 43 3 0 2 5.59 1.71 10.94 1.86 4.42 10.01 6.05 2.26
2019 MLB Total -- OAK -- -- Reliever 3 1 27 0 0 0 27 4 0 32.2 21 14 13 2 9 34 2 0 2 3.58 0.92 5.79 0.55 2.48 9.37 3.86 3.78
2020 MLB Total -- OAK -- -- Reliever 1 1 21 0 0 0 21 6 0 25.0 17 8 5 2 11 31 2 0 0 1.80 1.12 6.12 0.72 3.96 11.16 2.88 2.82
2021 AAA Total -- OAK -- -- Reliever 0 0 4 0 0 0 4 0 0 5.0 2 2 2 1 2 5 0 0 1 3.60 0.80 3.60 1.80 3.60 9.00 3.60 2.50
2021 MLB Total -- ARI,OAK -- -- Reliever 4 3 46 0 0 0 46 15 2 43.2 44 24 21 4 22 39 4 0 0 4.33 1.51 9.07 0.82 4.53 8.04 4.95 1.77
2022 AAA Total -- ARI -- -- Reliever 5 1 19 0 0 0 19 13 4 23.0 11 8 7 0 9 31 2 0 3 2.74 0.87 4.30 0.00 3.52 12.13 3.13 3.44
2022 MLB Total -- ARI -- -- Reliever 2 1 29 0 0 0 29 6 0 29.0 25 18 17 4 14 21 1 0 1 5.28 1.34 7.76 1.24 4.34 6.52 5.59 1.50
Total MLB (6 yrs) -- MLB -- -- -- -- 10 6 144 0 0 0 144 37 2 159.2 133 80 71 16 70 151 12 0 3 4.00 1.27 7.50 0.90 3.95 8.51 4.51 2.16
Total Minors (9 yrs) -- Minors -- -- -- -- 30 24 240 29 1 0 211 113 37 466.1 469 242 209 45 156 523 25 3 18 4.03 1.34 9.05 0.87 3.01 10.09 4.67 3.35
Total AL (5 yrs) -- AL -- -- -- -- 6 3 95 0 0 0 95 22 0 112.0 93 53 45 10 47 117 11 0 2 3.62 1.25 7.47 0.80 3.78 9.40 4.26 2.49
Total NL (2 yrs) -- NL -- -- -- -- 4 3 49 0 0 0 49 15 2 47.2 40 27 26 6 23 34 1 0 1 4.91 1.32 7.55 1.13 4.34 6.42 5.10 1.48
Total AAA (6 yrs) -- AAA -- -- -- -- 13 9 126 2 0 0 124 63 15 164.0 151 83 73 18 71 209 11 0 10 4.01 1.35 8.29 0.99 3.90 11.47 4.55 2.94
Total AA (2 yrs) -- AA -- -- -- -- 6 3 38 0 0 0 38 24 8 56.1 47 20 18 7 21 79 0 0 0 2.88 1.21 7.51 1.12 3.36 12.62 3.20 3.76
Total A+ (2 yrs) -- A+ -- -- -- -- 7 11 33 27 1 0 6 3 0 155.0 193 111 90 16 40 145 7 0 5 5.23 1.50 11.21 0.93 2.32 8.42 6.45 3.63
Total A (1 yrs) -- A -- -- -- -- 2 1 30 0 0 0 30 20 12 69.2 67 25 25 4 21 62 7 2 3 3.23 1.26 8.66 0.52 2.71 8.01 3.23 2.95
Total Rk (1 yrs) -- Rk -- -- -- -- 2 0 13 0 0 0 13 3 2 21.1 11 3 3 0 3 28 0 1 0 1.27 0.66 4.64 0.00 1.27 11.81 1.27 9.33
Other Pitching
*Reload page to restore grid
Grid Actions:
PREMIUM subscribers get additional grid functionality
Tips/tools for using data grids:

  • Manual Filter: Single-click a row to highlight in orange. Click FILTER ROWS button to show only those rows in the grid
  • Quick-Filter: Double-Click on a cell value to filter the grid on rows that have same value in same column. Click a statistic to view all values equal or higher
  • Select Rows: Single-click rows to select multiple rows for future action or visibility.
  • Hide Rows: Click the` minus sign in the first column to hide the row in the grid.
  • Restore Rows: Once rows are filtered, click RESTORE ROWS to show all rows once again
  • Sort: Click a column in the first header row to sort data by values in that column. Click again to reverse the original sort. Some cells have custom sort keys that will sort them logically instead of alphanumerically.
  • Compare/Analyze: Click multiple rows for players of interest. In addition to filtering, you can quickly COMPARE player stats or use the MULTI-PLAYER STAT VIEWER to view multiple player cards on the same page.
  • Leaders: On stat grids. Top-10 ranked statistics are highlighted in gray. #1 rank is in light green. (PREMIUM setting)
  • Export to CSV: Click CSV to convert the full grid into a comma-delimeted display. From there, you can copy/paste to another application.
year team name league level age role   w   l   g gs cg sh gr gf sv ip   h   r er hr bb so wp bk hb era whip h9 hr9 bb9 so9 ra9 so/bb
2015 Glendale Desert Dogs Az Fall AFL 22 Reliever 0 1 4 0 0 0 4 0 0 2.2 8 9 9 2 1 4 0 0 0 30.37 3.37 27.00 6.75 3.37 13.50 30.37 4.00
2018 Oakland Athletics MLB-ST Spring 25 Reliever 1 0 2 0 0 0 2 0 0 2.0 0 0 0 0 0 4 0 0 0 0.00 0.00 0.00 0.00 0.00 18.00 0.00 --
2019 Oakland Athletics MLB-ST Spring 26 Reliever 0 0 6 0 0 0 6 0 0 6.1 11 7 7 1 4 3 1 0 0 9.95 2.37 15.63 1.42 5.68 4.26 9.95 0.75
2020 Oakland Athletics Playoffs Playoffs 27 Reliever 0 1 2 0 0 0 2 0 0 1.0 4 6 2 1 1 1 0 0 0 18.00 5.00 36.00 9.00 9.00 9.00 54.00 1.00
2020 Oakland Athletics MLB-ST Spring 27 Reliever 1 0 5 0 0 0 5 0 0 5.1 8 4 4 1 1 6 0 0 0 6.75 1.69 13.50 1.69 1.69 10.13 6.75 6.00
2020 Oakland Athletics Playoffs Playoffs 27 Reliever 0 0 2 0 0 0 2 0 0 3.2 1 0 0 0 0 3 0 0 0 0.00 0.27 2.45 0.00 0.00 7.36 0.00 --
2021 Oakland Athletics MLB-ST Spring 28 Reliever 0 0 7 0 0 0 7 0 0 7.1 6 6 5 0 3 5 0 0 0 6.14 1.23 7.36 0.00 3.68 6.14 7.36 1.67
2022 Arizona Diamondbacks MLB-ST Spring 29 Reliever 1 0 5 0 0 0 5 2 0 5.1 4 1 1 0 0 5 0 0 0 1.69 0.75 6.75 0.00 0.00 8.44 1.69 --
-- Totals -- AFL 22 -- 0 1 4 0 0 0 4 0 0 2.2 8 9 9 2 1 4 0 0 0 30.37 3.37 27.00 6.75 3.37 13.50 30.37 4.00
-- Totals -- Playoffs 27 -- 0 1 4 0 0 0 4 0 0 4.2 5 6 2 1 1 4 0 0 0 3.86 1.29 9.64 1.93 1.93 7.71 11.57 4.00
-- Totals -- Spring 25 -- 3 0 25 0 0 0 25 2 0 26.1 29 18 17 2 8 23 1 0 0 5.81 1.41 9.91 0.68 2.73 7.86 6.15 2.88
Fielding Statistics
*Reload page to restore grid
Grid Actions:
PREMIUM subscribers get additional grid functionality
Tips/tools for using data grids:

  • Manual Filter: Single-click a row to highlight in orange. Click FILTER ROWS button to show only those rows in the grid
  • Quick-Filter: Double-Click on a cell value to filter the grid on rows that have same value in same column. Click a statistic to view all values equal or higher
  • Select Rows: Single-click rows to select multiple rows for future action or visibility.
  • Hide Rows: Click the` minus sign in the first column to hide the row in the grid.
  • Restore Rows: Once rows are filtered, click RESTORE ROWS to show all rows once again
  • Sort: Click a column in the first header row to sort data by values in that column. Click again to reverse the original sort. Some cells have custom sort keys that will sort them logically instead of alphanumerically.
  • Compare/Analyze: Click multiple rows for players of interest. In addition to filtering, you can quickly COMPARE player stats or use the MULTI-PLAYER STAT VIEWER to view multiple player cards on the same page.
  • Leaders: On stat grids. Top-10 ranked statistics are highlighted in gray. #1 rank is in light green. (PREMIUM setting)
  • Export to CSV: Click CSV to convert the full grid into a comma-delimeted display. From there, you can copy/paste to another application.
year team name league level mlb age pos   g gs inn po   a   e dp tc tsc sb cs sb% fpct rfg rfi rf9i tm shr pl shr tm rk
2012 Gulf Coast Red Sox GCL Rk bos 19 p 13 0 0.0 1 3 0 0 4 4 0 0 -- 1.000 0.3 -- -- 21.7 100.0 3
2013 Winston-Salem Dash Caro A+ cha 20 p 6 0 0.0 0 2 0 0 2 2 0 0 -- 1.000 0.3 -- -- 4.3 100.0 16
2013 Greenville Drive SAL A bos 20 p 27 0 0.0 1 9 0 0 10 10 0 0 -- 1.000 0.4 -- -- 19.6 100.0 2
2013 Kannapolis Intimidators SAL A cha 20 p 3 0 0.0 0 1 0 0 1 1 0 0 -- 1.000 0.3 -- -- 2.2 100.0 25
2014 Winston-Salem Dash Caro A+ cha 21 p 27 0 0.0 12 15 3 1 30 27 0 0 -- .900 1.0 -- -- 19.4 100.0 7
2015 Charlotte Knights IL AAA cha 22 p 12 0 0.0 1 2 0 0 3 3 0 0 -- 1.000 0.3 -- -- 8.3 100.0 18
2015 Birmingham Barons Sou AA cha 22 p 27 0 0.0 0 1 0 0 1 1 0 0 -- 1.000 0.0 -- -- 19.4 100.0 4
2016 Oakland AL MLB oak 23 p 8 0 12.2 0 0 0 0 0 0 1 0 100.00 .000 0.0 0.00 0.00 4.9 100.0 20
2016 Nashville Sounds PCL AAA oak 23 p 39 0 0.0 3 4 2 0 9 7 0 0 -- .778 0.2 -- -- 27.5 100.0 4
2018 Oakland AL MLB oak 25 p 13 0 16.2 0 1 0 0 1 1 0 0 -- 1.000 0.1 0.06 0.56 8.0 100.0 19
2018 Nashville Sounds PCL AAA oak 25 p 22 0 0.0 0 3 0 0 3 3 0 0 -- 1.000 0.1 -- -- 15.7 100.0 13
2018 Midland RockHounds Tex AA oak 25 p 11 0 0.0 0 1 0 0 1 1 0 0 -- 1.000 0.1 -- -- 7.9 100.0 18
2019 Oakland AL MLB oak 26 p 27 0 32.2 1 2 0 0 3 3 1 0 100.00 1.000 0.1 0.09 0.84 16.7 100.0 11
2019 Las Vegas Aviators PCL AAA oak 26 p 30 0 0.0 4 3 1 1 8 7 0 0 -- .875 0.2 -- -- 21.4 100.0 5
2020 Oakland Athletics AL MLB oak 27 p 21 0 25.0 0 1 2 1 3 1 0 0 -- .333 0.0 0.04 0.36 35.0 100.0 5
2021 Arizona Diamondbacks NL MLB ari 28 p 20 0 18.2 1 2 0 0 3 3 1 1 50.00 1.000 0.2 0.16 1.48 12.3 100.0 19
2021 Oakland Athletics AL MLB oak 28 p 26 0 25.0 1 1 0 1 2 2 0 0 -- 1.000 0.1 0.08 0.72 16.0 100.0 12
2021 Las Vegas Aviators Aviators PCL2 AAA oak 28 p 4 0 0.0 0 0 0 0 0 0 0 0 -- .000 0.0 -- -- 0.0 100.0 28
Total MLB (5 yrs) -- MLB -- -- p 115 0 129 3 7 2 2 12 10 3 1 75.00 .833 0.1 0.08 0.70 -- -- --
Total AAA (5 yrs) -- AAA -- -- p 107 0 0 8 12 3 1 23 20 0 0 -- .870 0.2 -- -- -- -- --
Total AA (2 yrs) -- AA -- -- p 38 0 0 0 2 0 0 2 2 0 0 -- 1.000 0.1 -- -- -- -- --
Total A+ (2 yrs) -- A+ -- -- p 33 0 0 12 17 3 1 32 29 0 0 -- .906 0.9 -- -- -- -- --
Total A (1 yrs) -- A -- -- p 30 0 0 1 10 0 0 11 11 0 0 -- 1.000 0.4 -- -- -- -- --
Total Rk (1 yrs) -- Rk -- -- p 13 0 0 1 3 0 0 4 4 0 0 -- 1.000 0.3 -- -- -- -- --
Yearly Positional Grid
*Reload page to restore grid
Grid Actions:
PREMIUM subscribers get additional grid functionality
Tips/tools for using data grids:

  • Manual Filter: Single-click a row to highlight in orange. Click FILTER ROWS button to show only those rows in the grid
  • Quick-Filter: Double-Click on a cell value to filter the grid on rows that have same value in same column. Click a statistic to view all values equal or higher
  • Select Rows: Single-click rows to select multiple rows for future action or visibility.
  • Hide Rows: Click the` minus sign in the first column to hide the row in the grid.
  • Restore Rows: Once rows are filtered, click RESTORE ROWS to show all rows once again
  • Sort: Click a column in the first header row to sort data by values in that column. Click again to reverse the original sort. Some cells have custom sort keys that will sort them logically instead of alphanumerically.
  • Compare/Analyze: Click multiple rows for players of interest. In addition to filtering, you can quickly COMPARE player stats or use the MULTI-PLAYER STAT VIEWER to view multiple player cards on the same page.
  • Leaders: On stat grids. Top-10 ranked statistics are highlighted in gray. #1 rank is in light green. (PREMIUM setting)
  • Export to CSV: Click CSV to convert the full grid into a comma-delimeted display. From there, you can copy/paste to another application.
year category pos p pos c pos 1b pos 2b pos 3b pos ss pos lf pos cf pos rf pos of pos dh
2012 Minor 13 0 0 0 0 0 0 0 0 0 0
2013 Minor 36 0 0 0 0 0 0 0 0 0 0
2014 Minor 27 0 0 0 0 0 0 0 0 0 0
2015 Minor 39 0 0 0 0 0 0 0 0 0 0
2016 Minor 39 0 0 0 0 0 0 0 0 0 0
2016 MLB 8 0 0 0 0 0 0 0 0 0 0
2018 Minor 33 0 0 0 0 0 0 0 0 0 0
2018 MLB 13 0 0 0 0 0 0 0 0 0 0
2019 Minor 30 0 0 0 0 0 0 0 0 0 0
2019 MLB 27 0 0 0 0 0 0 0 0 0 0
2020 MLB 21 0 0 0 0 0 0 0 0 0 0
2021 Minor 4 0 0 0 0 0 0 0 0 0 0
2021 MLB 46 0 0 0 0 0 0 0 0 0 0