PenguinsPittsburgh Penguins
0-0-0, 0pts · 8th in Eastern
Roster
Player # POS CON CK FG DI SK ST EN DU PH FO PA SC DF PS EX LD PO MO OV AGE CONTRACT
J.T. Miller (A)9C/LW/RW100.0081337890858990869193848585788407597318,750,000$/7yrs
Brock Boeser0RW100.0060339689818790845978936388717008393276,650,000$/2yrs
Jason Robertson21LW100.0063339188818690845589876586676607293248,000,000$/7yrs
Mark Scheifele0C100.0064477681839090848987806982788808392316,125,000$/6yrs
Joe Pavelski0C/RW100.0066339078768390808083837182939907691393,500,000$/1yrs
J.T. Compher0C/RW100.0060358475748990768880748475747207187295,500,000$/4yrs
Andre Burakovsky0LW/RW100.0058339176848278775582756276747304486295,750,000$/5yrs
Zach Parise0LW/RW100.006432956875797173607077837593920578639800,000$/1yrs
Morgan Barron0C/LW/RW100.0067349270897490686064738470676706982251,500,000$/2yrs
Arthur Kaliyev34LW/RW100.006333897483768472557374567362610778122894,167$/1yrs
Curtis Lazar0C/RW100.0084368460787583647764658164747205080291,000,000$/1yrs
Jordan Martinook0C/LW/RW100.0062338965768090666271617663788705180311,750,000$/1yrs
Travis Sanheim6D100.0066327879759790793084689273727005992285,000,000$/8yrs
Cam Fowler0D100.0060339273859790763079629069807907690326,500,000$/3yrs
Jared Spurgeon0D100.0065319368639286743074699072839507389347,200,000$/4yrs
Trevor van Riemsdyk0D100.0056359263788788693070648666807908984323,000,000$/3yrs
Mattias Samuelsson23D100.0081347864929090683067589163656307684244,285,714$/7yrs
Alex Vlasic0D100.006433916784897269306959906463620578422916,667$/1yrs
Scratches
Mark Jankowski0C/LW100.0067348864867677668064708068747304580291,100,000$/2yrs
Dylan Samberg0D100.006537786578819068307256846267650578325925,000$/1yrs
TEAM AVERAGE100.0066348773808586745676727973757606787
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
Goalie # CON SK DU EN SZ AG RB SC HS RT PH PS EX LD PO MO OV AGE CONTRACT
Linus Ullmark099.009592808897859695939696778207995303,500,000$/5yrs
Lukas Dostal1100.008186777283798688868686657004587231,000,000$/2yrs
Scratches
Martin Jones0100.007786778481768290809182828607788341,500,000$/1yrs
TEAM AVERAGE99.678488788187808891869188757906790
Coaches Name PH DF OF PD EX LD PO CNT Age Contract Salary
Pascal Vincent70748289777175CAN5251,000,000$
General Manager
Étienne Côté
Player Stats
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Player Name Team Name# POS GP G A P +/- PIM PIM5 HIT SHT OSB OSM SHT% SB AMG PPG PPA PPP PPM PKG PKA PKP PKM GW GT FO% FOT GA TA EG HT P/20 PSG PSS
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# Goalie Name Team NameGP W L OTL PCT GAA MP PIM SO GA SA SAR A EG PS % PSA ST BG S1 S2 S3
Cap Hit
Penguins
Projected Total Cap Hit0$
Projected Cap Space83,500,000$
Retains And Buyout Cap Hit0$
Salary Cap To Date0$
Players In Salary Cap23
LTIR Players0
Penguins Roster Pos Age Cap Hit 2023-24 2024-25 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31
Alex Vlasic D22916,667$916,667$ RFA
Andre BurakovskyLW/RW295,750,000$5,750,000$5,750,000$5,750,000$5,750,000$5,750,000$UFA
Arthur Kaliyev LW/RW22894,167$894,167$ RFA
Brock BoeserRW276,650,000$6,650,000$6,650,000$UFA
Cam FowlerD326,500,000$6,500,000$6,500,000$6,500,000$UFA
Curtis Lazar C/RW291,000,000$1,000,000$ UFA
Dylan Samberg D25925,000$925,000$ RFA
J.T. CompherC/RW295,500,000$5,500,000$5,500,000$5,500,000$5,500,000$UFA
J.T. MillerC/LW/RW318,750,000$8,750,000$8,750,000$8,750,000$8,750,000$8,750,000$8,750,000$8,750,000$UFA
Jared SpurgeonD347,200,000$7,200,000$7,200,000$7,200,000$7,200,000$UFA
Jason RobertsonLW248,000,000$8,000,000$8,000,000$8,000,000$8,000,000$8,000,000$8,000,000$8,000,000$UFA
Joe PavelskiC/RW393,500,000$3,500,000$UFA
Jordan MartinookC/LW/RW311,750,000$1,750,000$UFA
Linus UllmarkG303,500,000$3,500,000$6,000,000$6,000,000$6,000,000$6,000,000$UFA
Lukas Dostal G231,000,000$1,000,000$ 1,000,000$ RFA
Mark Jankowski C/LW291,100,000$1,100,000$ 1,100,000$ UFA
Mark ScheifeleC316,125,000$6,125,000$8,000,000$8,000,000$8,000,000$8,000,000$8,000,000$UFA
Martin Jones G341,500,000$1,500,000$ UFA
Mattias SamuelssonD244,285,714$4,285,714$4,285,714$4,285,714$4,285,714$4,285,714$4,285,714$4,285,714$UFA
Morgan BarronC/LW/RW251,500,000$1,500,000$1,500,000$ RFA
Travis SanheimD285,000,000$5,000,000$6,250,000$6,250,000$6,250,000$6,250,000$6,250,000$6,250,000$6,250,000$
Trevor van RiemsdykD323,000,000$3,000,000$3,000,000$3,000,000$UFA
Zach Parise LW/RW39800,000$800,000$ UFA
Non-Roster Pos Age Cap Hit 2023-24 2024-25 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31
Adam Edstrom C230$RFA
Benjamin Kraws G23850,000$850,000$ 850,000$ RFA
Bogdan Trineyev RW22859,167$859,167$ 859,167$ RFA
Cam Morrison C25975,000$975,000$ RFA
Cam Thiesing C23870,000$870,000$ 870,000$ 870,000$ RFA
Cameron Butler RW21858,333$858,333$ 858,333$ 858,333$ RFA
Cameron Crotty D24950,000$950,000$ RFA
Cole Schwindt C/RW22855,833$855,833$ RFA
Curtis Hall C23925,000$925,000$ RFA
Dennis Cholowski D261,150,000$1,150,000$ RFA
Ilya Nikolayev C22836,667$836,667$ 836,667$ RFA
Isaac Ratcliffe LW25975,000$975,000$ RFA
Jack Finley C21797,500$797,500$ 797,500$ RFA
Jacob Larsson D261,000,000$1,000,000$ UFA
Jacob Moverare D25900,000$900,000$ RFA
Jakob Pivonka C24900,000$900,000$ 900,000$ RFA
Jaxson Nelson C24870,000$870,000$ 870,000$ RFA
Joey Anderson RW251,000,000$1,000,000$ RFA
Kyle McDonald RW22870,000$870,000$ 870,000$ 870,000$ RFA
Markus Niemelainen D25900,000$900,000$ RFA
Michael Bullion G26775,000$775,000$ UFA
Nikita Tolopilo G24950,000$950,000$ 950,000$ RFA
Philippe Maillet C31775,000$775,000$ UFA
Riley Tufte LW26950,000$950,000$ RFA
Sam Hentges C24855,000$855,000$ RFA
Serron Noel RW23900,000$900,000$ 900,000$ RFA
Shakir Mukhamadullin D22894,167$894,167$ 894,167$ RFA
Tyce Thompson RW24950,000$950,000$ RFA
Tyler Angle LW23850,833$850,833$ RFA
Tyler Kleven D22916,667$916,667$ 916,667$ RFA
Victor Ostman G23870,000$870,000$ 870,000$ 870,000$ RFA

Lines
Forward Lines


#9 - J.T. Miller


#0 - Mark Scheifele


#0 - Brock Boeser


#21 - Jason Robertson


#0 - Joe Pavelski


#0 - Andre Burakovsky


#34 - Arthur Kaliyev


#0 - J.T. Compher


#0 - Zach Parise


#0 - Morgan Barron


#0 - Jordan Martinook


#0 - Curtis Lazar

Defensive Pairings


#6 - Travis Sanheim


#0 - Jared Spurgeon


#23 - Mattias Samuelsson


#0 - Cam Fowler


#0 - Trevor van Riemsdyk


#0 - Alex Vlasic

1st Power Play Unit


#21 - Jason Robertson


#0 - Joe Pavelski


#0 - Brock Boeser


#0 - Jared Spurgeon


#0 - Cam Fowler

2nd Power Play Unit


#0 - J.T. Compher


#0 - Mark Scheifele


#9 - J.T. Miller


#0 - Zach Parise


#0 - Trevor van Riemsdyk

Goalies


#0 - Linus Ullmark


#0 - Lukas Dostal

Team Stats
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
# VS Team GP W L T OTW OTL SOW SOL GF GA Diff P PCT G A TP SO EG GP1 GP2 GP3 GP4 SHF SH1 SP2 SP3 SP4 SHA SHB Pim Hit PPA PPG PP% PKA PK GA PK% PK GF W OF FO T OF FO OF FO% W DF FO T DF FO DF FO% W NT FO T NT FO NT FO% PZ DF PZ OF PZ NT PC DF PC OF PC NT GF% SH% SV% PDO PDOBRK
Total0000000000000.000000000000000000000000.00%000.00%0000.00%000.00%000.00%000000nan%nan%nan%nanUnlucky

Puck Time
Offensive Zone NAN
Neutral Zone NAN
Defensive Zone NAN
Puck Time
Offensive Zone Start 0
Neutral Zone Start 0
Defensive Zone Start 0
Puck Time
With Puck NAN
Without Puck NAN
Faceoffs
Faceoffs Won 0
Faceoffs Lost 0
Team Average Shots after League Average Shots after
1st Period nan9.57
2nd Period nan20.31
3rd Period nan30.68
Overtime nan31.4
Goals in Team Average Goals after League Average Goals after
1st Period nan0.64
2nd Period nan1.65
3rd Period nan2.67
Overtime nan2.83
Even Strenght Goal 0
PP Goal 0
PK Goal 0
Empty Net Goal 0
Home Away
Win 00
Lost 00
Overtime Lost 00
PP Attempt 0
PP Goal 0
PK Attempt 0
PK Goal Against 0
Home
Shots For nan
Shots Against nan
Goals For nan
Goals Against nan
Hits nan
Shots Blocked nan
Pim nan
Schedule
DateMatchup Result Detail
2024-04-22PenguinsPenguins@PenguinsIslanders
2024-04-24PenguinsPenguins@PenguinsIslanders
2024-04-26PenguinsIslanders@PenguinsPenguins
2024-04-28PenguinsIslanders@PenguinsPenguins
2024-04-30PenguinsPenguins@PenguinsIslanders
2024-05-02PenguinsIslanders@PenguinsPenguins
Trade Deadline --- Trades cant be done after this day is simulated!
2024-05-04PenguinsPenguins@PenguinsIslanders

Finance
Salary Cap
Players Total SalariesRetained SalaryTotal Cap HitEstimated Cap Space
85,146,548$ 0$ 0$ -1,646,548$

ArenaGoal HornAbout us
NamePPG Paints Arena
CityPittsburgh
Capacity18000
Season Ticket Holders40%

Arena Capacity - Ticket Price Attendance - %
Arena Capacity60005000200040001000
Ticket Price100$60$35$25$200$
Attendance0.00%0.00%0.00%0.00%0.00%
Attendance PCT0.00%0.00%0.00%0.00%0.00%

Income
Home Games LeftAverage Attendance - %Average Income per GameYear to Date RevenueArena CapacityTeam Popularity
41 0 - 0.00%0$0$18000100

Expenses
Players Total SalariesPlayers Total Average SalariesCoaches SalariesSpecial Salary Cap Value
85,146,548$ 85,146,548$ 0$ 0$
Year To Date ExpensesSalary Cap Per DaysSalary Cap To DateLuxury Taxe Total
0$ 0$ 0$ 0$

Estimate
Estimated Season RevenueRemaining Season DaysExpenses Per DaysEstimated Season Expenses
0$ 14 0$ 0$

Team Total Estimate
Estimated Season ExpensesEstimated Season Salary CapCurrent Bank AccountProjected Bank Account
0$ 85,146,548$ 41,705,292$ 41,705,292$
Depth Chart RookieInjured Cold Streak Hot Streak
Left WingCenterRight Wing
J.T. MillerAGE:31OV:97PenguinsUSA
Jason RobertsonAGE:24OV:93PenguinsUSA
Andre BurakovskyAGE:29OV:86PenguinsAUT
Zach PariseAGE:39OV:86PenguinsUSA
Morgan BarronAGE:25OV:82PenguinsCAN
Arthur KaliyevAGE:22OV:81PenguinsUSA
Jordan MartinookAGE:31OV:80PenguinsCAN
Mark JankowskiAGE:29OV:80PenguinsCAN
Riley TufteAGE:26OV:73PenguinsUSA
Isaac RatcliffeAGE:25OV:71PenguinsCAN
Tyler AngleAGE:23OV:69PenguinsCAN
J.T. MillerAGE:31OV:97PenguinsUSA
Mark ScheifeleAGE:31OV:92PenguinsCAN
Joe PavelskiAGE:39OV:91PenguinsUSA
J.T. CompherAGE:29OV:87PenguinsUSA
Morgan BarronAGE:25OV:82PenguinsCAN
Curtis LazarAGE:29OV:80PenguinsCAN
Jordan MartinookAGE:31OV:80PenguinsCAN
Mark JankowskiAGE:29OV:80PenguinsCAN
Philippe MailletAGE:31OV:74PenguinsCAN
Jaxson NelsonAGE:24OV:73PenguinsUSA
Jakob PivonkaAGE:24OV:71PenguinsUSA
Adam EdstromAGE:23OV:71PenguinsSWE
Cam MorrisonAGE:25OV:70PenguinsCAN
Cole SchwindtAGE:22OV:70PenguinsCAN
Sam HentgesAGE:24OV:70PenguinsUSA
Jack FinleyAGE:21OV:69PenguinsUSA
Cam ThiesingAGE:23OV:69PenguinsUSA
Curtis HallAGE:23OV:68PenguinsUSA
Ilya NikolayevAGE:22OV:68PenguinsRUS
J.T. MillerAGE:31OV:97PenguinsUSA
Brock BoeserAGE:27OV:93PenguinsUSA
Joe PavelskiAGE:39OV:91PenguinsUSA
J.T. CompherAGE:29OV:87PenguinsUSA
Andre BurakovskyAGE:29OV:86PenguinsAUT
Zach PariseAGE:39OV:86PenguinsUSA
Morgan BarronAGE:25OV:82PenguinsCAN
Arthur KaliyevAGE:22OV:81PenguinsUSA
Curtis LazarAGE:29OV:80PenguinsCAN
Jordan MartinookAGE:31OV:80PenguinsCAN
Joey AndersonAGE:25OV:78PenguinsUSA
Cole SchwindtAGE:22OV:70PenguinsCAN
Serron NoelAGE:23OV:70PenguinsCAN
Tyce ThompsonAGE:24OV:70PenguinsCAN
Kyle McDonaldAGE:22OV:70PenguinsCAN
Bogdan TrineyevAGE:22OV:68PenguinsRUS
Cameron ButlerAGE:21OV:67PenguinsCAN

Defense #1Defense #2Goalie
Travis SanheimAGE:28OV:92PenguinsCAN
Cam FowlerAGE:32OV:90PenguinsCAN
Jared SpurgeonAGE:34OV:89PenguinsCAN
Trevor van RiemsdykAGE:32OV:84PenguinsUSA
Mattias SamuelssonAGE:24OV:84PenguinsUSA
Alex VlasicAGE:22OV:84PenguinsUSA
Dylan SambergAGE:25OV:83PenguinsUSA
Shakir MukhamadullinAGE:22OV:73PenguinsRUS
Dennis CholowskiAGE:26OV:72PenguinsCAN
Tyler KlevenAGE:22OV:72PenguinsUSA
Jacob MoverareAGE:25OV:70PenguinsSWE
Markus NiemelainenAGE:25OV:69PenguinsFIN
Jacob LarssonAGE:26OV:68PenguinsSWE
Cameron CrottyAGE:24OV:67PenguinsCAN
Linus UllmarkAGE:30OV:95PenguinsSWE
Martin JonesAGE:34OV:88PenguinsCAN
Lukas DostalAGE:23OV:87PenguinsCZE
Michael BullionAGE:26OV:81PenguinsUSA
Benjamin KrawsAGE:23OV:79PenguinsUSA
Nikita TolopiloAGE:24OV:78PenguinsBEL
Victor OstmanAGE:23OV:74PenguinsSWE

Draft Picks
Year Ronde 1Ronde 2Ronde 3Ronde 4Ronde 5Ronde 6Ronde 7Ronde 8
2024
2025
2026
2027
2028

** Conditional Draft Pick That Have Been Traded
Prospects
Filter Tips
PriorityTypeDescription
1| or  OR Logical "or" (Vertical bar). Filter the column for content that matches text from either side of the bar
2 &&  or  AND Logical "and". Filter the column for content that matches text from either side of the operator.
3/\d/Add any regex to the query to use in the query ("mig" flags can be included /\w/mig)
4< <= >= >Find alphabetical or numerical values less than or greater than or equal to the filtered query
5! or !=Not operator, or not exactly match. Filter the column with content that do not match the query. Include an equal (=), single (') or double quote (") to exactly not match a filter.
6" or =To exactly match the search query, add a quote, apostrophe or equal sign to the beginning and/or end of the query
7 -  or  to Find a range of values. Make sure there is a space before and after the dash (or the word "to")
8?Wildcard for a single, non-space character.
8*Wildcard for zero or more non-space characters.
9~Perform a fuzzy search (matches sequential characters) by adding a tilde to the beginning of the query
10textAny text entered in the filter will match text found within the column
Prospect Team NameDraft Year Overall Pick Information Lien
Alexei LipanovPenguinsPenguins5.0 - 3.5
Ben MacDonaldPenguinsPenguins2022106
Brady ClevelandPenguinsPenguins202371
Daimon GardnerPenguinsPenguins2022138
Daniil PylenkovPenguinsPenguins2021210
Emmitt FinniePenguinsPenguins2023216
Henrik TikkanenPenguinsPenguins
Hudson MalinoskiPenguinsPenguins2023159
Jacob LeguerrierPenguinsPenguins2019144
Kristian TanusPenguinsPenguins2020170
Luke TuchPenguinsPenguins202047
Manix LandryPenguinsPenguins2021153
Mathew HillPenguinsPenguins
Melker ThelinPenguinsPenguins2023131
Nikita YevseyevPenguinsPenguins2022217
Rhett PitlickPenguinsPenguins2019124
Ryan MacPhersonPenguinsPenguins2023198
Santeri AirolaPenguinsPenguins2019207
Terrell GoldsmithPenguinsPenguins2023122
Vladislav KotkovPenguinsPenguins6.5 - 3.5
Transactions






































































































































































































































































































































































































































































































Injuries
No Injury or Suspension.

Game Center

Islanders0-0-0, 0pts00Final
Penguins0-0-0, 0pts

Penguins0-0-0, 0pts00Final
Islanders0-0-0, 0pts

Penguins0-0-0, 0ptsMon, Apr 22Barclays Center
Islanders0-0-0, 0pts

Penguins0-0-0, 0ptsWed, Apr 24Barclays Center
Islanders0-0-0, 0pts

Islanders0-0-0, 0ptsFri, Apr 26PPG Paints Arena
Penguins0-0-0, 0pts

Team Leaders

Team Stats


Goals For
0
nan GFG
Shots For
0
nan Avg
Power Play Percentage
nan%
0 GF
Offensive Zone Start
nan%
Goals Against
0
nan GAA
Shots Against
0
nan Avg
Penalty Kill Percentage
nan%
0 GA
Defensive Zone Start
nan%
 

Team Info

Penguins
General ManagerÉtienne Côté
Head CoachPascal Vincent
Captain
DivisionMetropolitan

Penguins Affiliation

Penguins
Team NamePenguins
CityWilkes-Barre/Scranton
Head CoachDominique Ducharme
DivisionAtlantic

Arena Info

StadiumPPG Paints Arena
Capacity18,000
Attendancenan
Season Tickets7,200

Salary Cap

Total Cap Hit0$
Cap Space83,500,000$
Retains & Buyout0$
Players In Salary Cap23

Finance

Team Revenue0$
Estimated Revenue0$
Estimated Expenses0$
Operating Income0$
Bank Account41,705,292$

Team History

Record (W-L-OTL)135-157-36 (306PTS)
Playoff Appearances0
Playoff Record (W-L)0-0
Stanley Cup0

Team Captain - Alternate Captains

CaptainAlternate CaptainAlternate Captain