Johnny Herd Profile and Player Statistics
First name: Johnny
Last name: Herd
Position: Defender
Nationality:
Height: 175
Weight: 76

Football Career Transfers and Statistics

We are going to show you the list of football clubs and seasons in which Johnny Herd has played. It includes the total number of appearance (caps), substitution details, goals, yellow and red cards stats.

Competition Season Football Club
FA Cup 2022/2023 St Ives Town 1 0 0 1 0 0 0
Non League Premier: Southern Central 2022/2023 St Ives Town 2 0 0 2 0 0 0
FA Cup 2021/2022 Peterborough Sports 1 1 0 0 0 0 0
Vanarama National League South 2016/2017 Bishop's Stortford 3 2 1 0 0 0 0
Vanarama National League South 2015/2016 Bishop's Stortford 3 0 3 0 0 0 0
Fa Trophy 2014/2015 Bishop's Stortford 1 0 1 0 0 0 0
Vanarama National League South 2014/2015 Bishop's Stortford 1 0 1 0 0 0 0
FA Cup 2013/2014 Bishop's Stortford 2 0 0 0 0 0 0
Vanarama National League South 2013/2014 Bishop's Stortford 4 0 3 1 0 0 0
Vanarama National League North 2012/2013 Bishop's Stortford 3 0 2 1 0 0 0
National League 2011/2012 Ebbsfleet United 10 4 3 1 0 3 0
Carabao Cup 2010/2011 Southend United 1 0 0 0 0 0 0
League Two 2010/2011 Southend United 22 3 1 0 0 0 0
FA Cup 2009/2010 Southend United 1 0 1 0 0 0 0
League One 2009/2010 Southend United 4 3 1 0 0 0 0
League One 2008/2009 Southend United 2 1 0 0 0 1 0

Johnny Herd has played in the following competitions and football tournaments.

Now showing: All Competitions

DateHomeScoreAwayHT
11/03/2023 Stourbridge
2 - 2
St Ives Town 1-2H2H+
  0 - 1 2' J. Herd
  0 - 2 13' J. Edwards
J. Cowley 40' 1 - 2  
J. Hull 90+3' 2 - 2  
04/10/2022 Ilkeston Town
2 - 3
St Ives Town 1-1H2H+
  0 - 1 10' J. Edwards
Chris O'Grady 45+4' 1 - 1  
  1 - 2 60' T. Baker
Jamie Ward 82' 2 - 2  
  2 - 3 89' J. Herd
01/10/2022 St Ives Town
3 - 1
Chasetown 1-1H2H+
Jonathan Edwards 1' 1 - 0  
  1 - 1 21' Joey Butlin
Enoch Ebo Andoh 56' 2 - 1  
Johnny Herd 90+2' 3 - 1  
16/10/2021 King's Lynn Town
2 - 1
Peterborough Sports 1-1H2H+
  0 - 1 18' M. Gash
Gold Omotayo 45+1' 1 - 1  
M. Sundire 46'  
Malachi Linton 46'  
  53' D. Jarvis
  53' James Stevenson
J. Rowley 55'  
Josh Barrett 55'  
Brett McGavin 61' 2 - 1  
  65' L. Warner-Eley
  65' J. Herd
Brett McGavin 82'  
Michael Gyasi 82'  
  90+4' J. McCammon
  90+4' M. Jones
01/01/2017 Bishop's Stortford
1 - 3
Chelmsford City 1-3H2H+
  0 - 1 5' E. Buchanan
Aaron Greene 7' 1 - 1  
  1 - 2 21' E. Buchanan
  1 - 3 37' E. Buchanan
Freddy Moncur 74'  
G. Cundle 74'  
E. Kouassi 74'  
Dean Morgan 74'  
  75' E. Buchanan
  75' Bagasan Graham
Aaron Greene 80'  
J. Herd 80'  
  84' Kane Haysman
  84' Michael Spillane
  89' Josh Rees
  89' Max Porter
13/09/2016 Bishop's Stortford
0 - 3
Ebbsfleet United 0-1H2H+
  0 - 1 22' Dean Rance
  0 - 2 52' Aaron Mclean
M. Ekpiteta 56'  
J. Herd 56'  
C. O'Neill 56'  
Lee Sawyer 56'  
Dominic Green 67'  
Jermaine Osei 67'  
  71' Aaron Mclean
  71' D. McQueen
  75' S. Deering
  75' S. Lewis
  86' Sean Shields
  86' J. Connors
  0 - 3 89' D. McQueen
21/04/2014 Bromley
3 - 2
Bishop's Stortford 0-1H2H+
  0 - 1 44' M. Richens
  46' Harry Baker
  46' M. Johnson
  0 - 2 48' J. Herd
Brendan Kiernan 57'  
Louis Dennis 57'  
Jay May 58' 1 - 2  
  62' Brian Woodall
  62' Joshua Fagbohun
Pierre Joseph-Dubois 77'  
E. Buchanan 77'  
  78' Sam Cutler
  78' Luke Milbourne
B. Goldberg 79' 2 - 2  
Jay May 83'  
Jake Reid 83'  
D. Waldren 88' 3 - 2  
10/11/2013 Bishop's Stortford
1 - 2
Northampton Town 0-0H2H+
Tommy Fletcher 18'  
  45' Lee Collins
Kyle Vassell 58'  
George Sykes 58'  
  0 - 1 62' D. Emerton
Nicky Symons 66'  
Harry Baker 66'  
  67' Lee Collins
  67' Ben Tozer
  0 - 2 68' Luke Norris
Tommy Fletcher 77'  
Kyle Asante 77'  
Reece Prestedge 81' 1 - 2  
Harry Baker 86'  
  90' J. Blyth
  90' Ian Morris
  90+2' Chris Hackett
26/10/2013 Forest Green Rovers
0 - 1
Bishop's Stortford 0-0H2H+
  0 - 1 52' Reece Prestedge
Magno Vieira 60'  
M. Barnes-Homer 60'  
Anthony Barry 67'  
S. Brogan 67'  
D. Wright 78'  
Reece Styche 78'  
  90' Kyle Vassell
  90' Cliff Akurang
13/10/2012 Bishop's Stortford
1 - 2
Chester 0-0H2H+
L. Spence 67'  
N. Livings 67'  
  71' Scott Brown
  71' T. Gray
  71' Iain Howard
  71' Ashley Williams
  0 - 1 75' Nathan Jarman
J. Herd 77' 1 - 1  
  1 - 2 83' Antoni Sarcevic
Alli Abdullahi 83'  
Freddie Ladapo 83'  
S. Cawley 83'  
C. Webb 83'  
  84' Marc Williams
  84' Levi Mackin
14/04/2012 Ebbsfleet United
3 - 2
AFC Telford United 2-0H2H+
Paul Lorraine 18'  
Michael West 27' 1 - 0  
  37' S. Killock
  39' Richard Davies
L. Enver-Marum 45+2' 2 - 0  
T. Phipp 46'  
J. Herd 46'  
  46' Kyle Perry
  46' Adam Proudlock
  46' Richard Davies
  46' Jay Smith
Callum Willock 57'  
Ram Marwa 57'  
L. Enver-Marum 62' 3 - 0  
  3 - 1 66' Adam Proudlock
  67' Ashley Cain
  69' Ashley Cain
  69' Ryan Brooke
  3 - 2 74' Ryan Brooke
Neil Barrett 77'  
Ricky Shakes 77'  
L. Enver-Marum 90+3'  
09/04/2012 Ebbsfleet United
1 - 1
Braintree Town 1-1H2H+
Callum Willock 30' 1 - 0  
  1 - 1 34' Benjamin Wright
  41' Nicky Symons
  49' Aswad Thomas
J. Howe 56'  
J. Herd 56'  
Michael West 59'  
T. Phipp 71'  
Ricky Shakes 71'  
Callum Willock 80'  
N. Pinney 80'  
  84' J. Reason
  84' Bradley Quinton
03/03/2012 Gateshead
2 - 3
Ebbsfleet United 1-0H2H+
Michael Cummins 15' 1 - 0  
  19' Neil Barrett
  1 - 1 55' Neil Barrett
  56' T. Phipp
  56' J. Herd
  56' Callum Willock
  56' N. Pinney
  60' Ram Marwa
  64' J. Herd
James Marwood 69'  
J. Gillies 69'  
Michael Cummins 69'  
Liam Hatch 69'  
  1 - 2 78' L. Enver-Marum
  1 - 3 88' Gozie Ugwu
Jon Shaw 90' 2 - 3  
Alan O'Brien 90+2'  
Kris Gate 90+2'  
  90+2' L. Enver-Marum
  90+2' Alex Stavrinou
03/12/2011 Barrow
1 - 1
Ebbsfleet United 1-0H2H+
Andy Cook 6' 1 - 0  
  36' T. Phipp
  36' Neil Barrett
A. Boyes 55'  
  55' Ram Marwa
  57' J. Herd
  60' Callum Willock
  60' Ricky Shakes
Richie Baker 63'  
  70' N. Pinney
  70' Jamie Darvill
Daniel Hone 71'  
  1 - 1 87' L. Enver-Marum
A. Boyes 88'  
Louis Almond 88'  
Andy Ferrell 90+1'  
J. Owen 90+1'  
  90+2' Neil Barrett
27/09/2011 Ebbsfleet United
3 - 0
Bath City 1-0H2H+
Callum Willock 24' 1 - 0  
  46' Sekani Simpson
  46' Scott Murray
Michael West 53' 2 - 0  
  66' Marley Watkins
  66' J. Cook
  67' Lewis Hogg
  69' Charlie Clough
Callum Willock 75' 3 - 0  
Giannoulis Fakinos 82'  
Scott Ginty 82'  
Michael West 82'  
Ricky Shakes 82'  
C. Stone 88'  
J. Howe 90+3'  
J. Herd 90+3'  
10/09/2011 Kidderminster Harriers
2 - 2
Ebbsfleet United 1-1H2H+
  3' Alex Stavrinou
Luke Jones 11' 1 - 0  
  1 - 1 38' L. Enver-Marum
Steve Guinan 66'  
Jamille Matt 66'  
Nick Wright 74' 2 - 1  
Callum Gittings 75'  
D. Hankin 75'  
J. Byrne 76'  
J. Byrne 76'  
James Vincent 76'  
  78' Alex Stavrinou
  78' Giannoulis Fakinos
  81' Callum Willock
  81' Scott Ginty
  82' Ricky Shakes
  82' Lanre Azeez
  2 - 2 90' J. Herd
27/08/2011 Ebbsfleet United
1 - 1
Forest Green Rovers 1-0H2H+
  23' C. Stokes
Giannoulis Fakinos 30'  
Ricky Shakes 30'  
Ricky Shakes 35' 1 - 0  
Ram Marwa 44'  
Michael West 57'  
C. Stone 57'  
J. Herd 60'  
  62' Yan Klukowski
  62' C. McDonald
  1 - 1 71' Reece Styche
T. Phipp 73'  
Alex Stavrinou 73'  
L. Enver-Marum 78'  
  84' C. Griffin
  84' Robbie Matthews
  89' Reece Styche
  89' W. Turk
18/03/2011 Southend United
4 - 0
Hereford United 1-0H2H+
J. Herd 18'  
Harry Crawford 18'  
Barry Corr 23'  
Harry Crawford 36' 1 - 0  
Barry Corr 65' 2 - 0  
  66' Steven Leslie
  66' J. McQuilkin
Barry Corr 67' 3 - 0  
  67' Kenny Lunt
  67' Nicky Featherstone
  68' Joe Heath
Harry Crawford 69'  
  79' Waide Fairhurst
  79' Adrian Pătulea
Barry Corr 88'  
Louie Soares 88'  
  90' Joe Colbeck
Harry Crawford 90' 4 - 0  
15/03/2011 Crewe Alexandra
1 - 0
Southend United 0-0H2H+
Ashley Westwood  46'  
Danny Shelley 46'  
Shaun Miller 65' 1 - 0  
Byron Moore 73'  
Joel Grant 73'  
Shaun Miller 74'  
  80' Blair Sturrock
  80' Harry Crawford
  81' Kane Ferdinand
  81' Louie Soares
  88' Ryan Hall
  88' Kyle Asante
08/03/2011 Southend United
2 - 2
Gillingham 1-2H2H+
  0 - 1 7' Cody McDonald
Ryan Hall 15' 1 - 1  
Peter Gilbert 16'  
  1 - 2 18' Adebayo Akinfenwa
  23' John Nutter
  43' C. Weston
  46' Adebayo Akinfenwa
  46' Dennis Oli
Ryan Hall 52' 2 - 2  
  75' Andy Barcham
  75' Luke Rooney
  75' Cody McDonald
Blair Sturrock 83'  
Harry Crawford 83'  
  90' Matt Lawrence
22/02/2011 Southend United
2 - 1
Barnet 2-0H2H+
Craig Easton 11' 1 - 0  
Ryan Hall 16' 2 - 0  
  30' G. Southam
  58' Victor Rîmniceanu
  58' John Dunleavy
  67' Tommy Fraser
  67' Izale McLeod
Lee Sawyer 77'  
Kyle Asante 77'  
  80' Mark Hughes
  80' Rossi Jarvis
  2 - 1 88' Steve Kabba
Louie Soares 89'  
J. Herd 89'  
Blair Sturrock 90'  
Barry Corr 90'  
05/02/2011 Southend United
0 - 2
Shrewsbury Town 0-1H2H+
  0 - 1 43' Jon Taylor 
Bilel Mohsni 44'  
  56' Matt Harrold
  0 - 2 60' Matt Harrold
Bilel Mohsni 64'  
Lee Sawyer 64'  
Blair Sturrock 70'  
Harry Crawford 70'  
  73' Nicky Wroe
  79' David Davis
  79' Kevin McIntyre
Peter Gilbert 80'  
Louie Soares 80'  
  83' James Collins
  83' Tom Bradshaw
01/02/2011 Southend United
2 - 1
Oxford United 2-1H2H+
  0 - 1 14' James Constable
  29' Asa Hall
Ryan Hall 43' 1 - 1  
Bilel Mohsni 45' 2 - 1  
  57' Asa Hall
  57' Simon Clist
  63' Tom Craddock
  63' Simon Hackney
  63' S. Heslop
  63' A. Potter
  65' Harry Worley
  67' Damian Batt
Chris Barker 75'  
  75' James Constable
Peter Gilbert 77'  
Peter Gilbert 78'  
J. Herd 78'  
Bilel Mohsni 81'  
Blair Sturrock 87'  
Harry Crawford 87'  
Ryan Hall 90'  
Lee Sawyer 90'  
15/01/2011 Rotherham United
1 - 2
Southend United 0-2H2H+
  0 - 1 1' Ryan Hall
  0 - 2 13' Blair Sturrock
Jason Taylor 45'  
Marcus Marshall 46'  
M. Randall 46'  
Nick Fenton 61' 1 - 2  
  66' Louie Soares
  66' Kane Ferdinand
Kevin Ellison 76'  
Paul Warne 76'  
  84' Barry Corr
08/01/2011 Southend United
2 - 3
Chesterfield 0-2H2H+
  0 - 1 12' Danny Whitaker
  18' Jack Hunt
  0 - 2 19' Deane Smalley
Miguel Comminges 46'  
Kane Ferdinand 46'  
Craig Easton 58' 1 - 2  
  1 - 3 62' Danny Whitaker
  64' Dwayne Mattis
  71' Mark Allott
  73' Ian Morris
  73' Derek Niven
Matthew Paterson 79'  
Blair Sturrock 79'  
Barry Corr 83' 2 - 3  
  87' Tommy Lee
  90' Deane Smalley
  90' Jordan Bowery
03/01/2011 Southend United
1 - 2
Cheltenham Town 0-2H2H+
  0 - 1 4' Marlon Pack
  0 - 2 5' Wes Thomas
Kane Ferdinand 18'  
Anthony Grant 18'  
  20' Martin Riley
  20' A. Gallinagh
  53' Jeff Goulding
Blair Sturrock 60'  
Miguel Comminges 60'  
Louie Soares 60'  
Matthew Paterson 60'  
  64' Jeff Goulding
  64' S. Jeffers
  72' Wes Thomas
  72' D. Bird
Barry Corr 77' 1 - 2  
Chris Barker 88'  
01/01/2011 Oxford United
0 - 2
Southend United 0-2H2H+
  0 - 1 18' Barry Corr
S. Heslop 32'  
Josh Payne 36'  
Josh Payne 43'  
Asa Hall 43'  
  0 - 2 44' Sean Clohessy
Ben Futcher 45'  
Ben Futcher 46'  
Jake Wright 46'  
Steven Kinniburgh 62'  
Tom Craddock 62'  
Steven MacLean 76'  
  79' Barry Corr
  79' Matthew Paterson
14/12/2010 Cheltenham Town
0 - 2
Southend United 0-2H2H+
  0 - 1 8' Jack Midson
  0 - 2 14' Jack Midson
Joshua Low 43'  
John Melligan 43'  
  46' Josh Simpson
  46' Louie Soares
D. Bird 67'  
S. Jeffers 67'  
A. Gallinagh 74'  
Steve Elliott 74'  
  82' Jack Midson
  82' Barry Corr
  82' Bilel Mohsni
  82' Graham Coughlan
  90' Barry Corr
11/12/2010 Burton Albion
3 - 1
Southend United 2-0H2H+
Jacques Maghoma 37' 1 - 0  
Luke Prosser 45' 2 - 0  
  46' A. German
  46' Ryan Hall
  46' Alex Woodyard
  46' Blair Sturrock
  2 - 1 51' Blair Sturrock
Aaron Webster 57' 3 - 1  
  72' Louie Soares
  73' Craig Easton
  75' Barry Corr
  75' Harry Crawford
Aaron Webster 77'  
Shaun Harrad 77'  
  82' Chris Barker
Jacques Maghoma 86'  
Jimmy Phillips 86'  
Andy Corbett 87'  
23/11/2010 Stevenage
1 - 1
Southend United 1-0H2H+
Stacy Long 26' 1 - 0  
Ben May 46'  
Chris Beardsley 46'  
David Bridges 46'  
L. Foster 46'  
  49' Bilel Mohsni
  65' Graham Coughlan
  65' Luke Prosser
  65' Jack Midson
  65' Blair Sturrock
  76' Louie Soares
  76' Barry Corr
Peter Winn 77'  
Darius Charles 77'  
  1 - 1 84' Barry Corr
  90' Peter Gilbert
20/11/2010 Shrewsbury Town
1 - 1
Southend United 0-0H2H+
Dean Holden 44'  
Mark Wright 49' 1 - 0  
  55' Blair Sturrock
  55' A. German
Kevin McIntyre 62'  
  78' Bilel Mohsni
  83' Josh Simpson
  83' Barry Corr
  83' Jack Midson
  83' Harry Crawford
  1 - 1 87' Anthony Grant
Sean McAllister 89'  
T. Obadeyi 89'  
16/10/2010 Southend United
0 - 2
Crewe Alexandra 0-0H2H+
  34' Lee Bell
Luke Prosser 44'  
  0 - 1 55' Clayton Donaldson
Matthew Paterson 57'  
Harry Crawford 57'  
Luke Prosser 58'  
Ryan Hall 58'  
  59' Clayton Donaldson
  59' Shaun Miller
Waide Fairhurst 75'  
Nathaniel Jarvis 75'  
  0 - 2 77' Shaun Miller
  86' Byron Moore
  86' Adam Dugdale
02/10/2010 Southend United
1 - 0
Lincoln City 1-0H2H+
Barry Corr 3' 1 - 0  
  36' Clark Keltie
Barry Corr 46'  
Nathaniel Jarvis 46'  
  48' Drewe Broughton
  48' Mustapha Carayol
Ryan Hall 66'  
Louie Soares 66'  
  67' Joe Anyon
  67' Paul Musselwhite
Bilel Mohsni 69'  
Blair Sturrock 73'  
Harry Crawford 73'  
Michael Timlin 86'  
  89' Moses Swaibu
28/09/2010 Gillingham
0 - 0
Southend United 0-0H2H+
  68' Blair Sturrock
  68' Ryan Hall
Jack Payne 68'  
Bruce Inkango 68'  
Luke Rooney 68'  
Daniel Spiller 72'  
  75' Anthony Grant
  75' N. Jarvis
Barry Fuller 79'  
  83' Barry Corr
25/09/2010 Hereford United
1 - 3
Southend United 1-1H2H+
J. McQuilkin 6' 1 - 0  
  1 - 1 27' Barry Corr
  45' Anthony Grant
Mathieu Manset 45'  
  45' M. Timlin
Stuart Fleetwood 51'  
  1 - 2 52' M. Timlin
  54' Peter Gilbert
  1 - 3 67' Blair Sturrock
Daniel Stratford 72'  
S .Gwynne 72'  
Stuart Fleetwood 72'  
Samuel Malsom 72'  
Mathieu Manset 72'  
Amadou Rabihou 72'  
  77' Blair Sturrock
  77' N. Jarvis
  81' Ryan Hall
  81' Louie Soares
  85' Barry Corr
  85' Luke Prosser
18/09/2010 Southend United
2 - 3
Morecambe 1-2H2H+
  0 - 1 22' Stuart Drummond
Anthony Grant 23' 1 - 1  
  1 - 2 26' Paul Mullin
  31' Chris Shuker
  38' Anthony Capaldi
  45' Will Haining
Barry Corr 50' 2 - 2  
  61' Chris Shuker
  61' J. Spencer
  2 - 3 73' J. Spencer
Peter Gilbert 76'  
J. Herd 76'  
Blair Sturrock 76'  
Louie Soares 76'  
Josh Simpson 86'  
Scott Spencer 86'  
27/08/2010 Bradford City
0 - 2
Southend United 0-1H2H+
Gareth Evans 15'  
  0 - 1 16' Barry Corr
Lee Bullock 25'  
James Hanson 46'  
Jake Speight 46'  
Lee Bullock 46'  
Dave Syers 46'  
Louis Moult 46'  
Robbie Threlfall 46'  
  49' Sean Clohessy
  53' Craig Easton
  0 - 2 54' Anthony Grant
  65' Peter Gilbert
  77' Sean Clohessy
  77' Blair Sturrock
  77' Louie Soares
  80' Barry Corr
  80' Matthew Paterson
  83' Ryan Hall
  83' Luke Prosser
Dave Syers 87'  
14/08/2010 Aldershot Town
1 - 0
Southend United 0-0H2H+
  50' Luke Prosser
Anthony Charles 63'  
Ben Harding 69'  
Aaron Morris 69'  
Luke Guttridge 69'  
Damian Spencer 69'  
  75' Blair Sturrock
  75' Matthew Paterson
  77' Anthony Grant
Glen Little 80'  
Wade Small 80'  
Marvin Morgan 81' 1 - 0  
  82' Louie Soares
  82' Ryan Hall
  83' Barry Corr
  83' Scott Spencer
  88' Craig Easton
Ben Herd 90'  
10/08/2010 Southend United
3 - 2
Bristol City 1-1H2H+
  0 - 1 3' James McAllister
Matthew Paterson 32' 1 - 1  
  46' Cole Skuse
  46' Marvin Elliott
  59' Allan Campbell
  59' John Akinde
Sofiene Zaaboub 61'  
Barry Corr 61'  
Blair Sturrock 67'  
Ryan Hall 67'  
Anthony Grant 71'  
  74' Nicky Hunt
  1 - 2 83' Ivan Sproule
Louie Soares 87'  
Scott Spencer 87'  
Barry Corr 88' 2 - 2  
  90' Lee Johnson
Scott Spencer 91'  
  94' Albert Adomah
  94' Marlon Jackson
Matthew Paterson 104' 3 - 2  
Josh Simpson 120'  
  120' Ivan Sproule
07/08/2010 Southend United
1 - 1
Stockport County 0-0H2H+
Mark Phillips 30'  
  37' Robbie Williams
  54' George Donnelly
  62' Barry Conlon
  64' Danny Swailes
Scott Spencer 70'  
Josh Simpson 71'  
Sofiene Zaaboub 71'  
Scott Spencer 72'  
Blair Sturrock 72'  
  81' Robbie Williams
  81' Danny Rowe
  81' Barry Conlon
  81' James Vincent
  0 - 1 83' George Donnelly
Barry Corr 87'  
Louie Soares 89'  
Matthew Paterson 89'  
Blair Sturrock 90' 1 - 1  

Results and Fixtures
Top Soccer Tipsters
Tipsters Competition Review
Superior H2H Statistics
H2H Home Team Advantage
H2H Away Team Advantage
Top Football Clubs
Worst Football Clubs
Top Draw Teams
Teams Home Win 100%
Good Home Teams
Poor Away Teams
Platinum Membership Testimonial

Soccer Fixtures Calendar

Choose a date to view the past soccer results or upcoming match fixtures.

Pick a Country or Region

Get the listings of soccer leagues and competitions for each region, including past seasons results and football statistics.

Match Preview and News

Copyright © 2002-2025 SoccerPunter Pte. Ltd. All rights reserved.