Follow Footymad on Facebook Follow Footymad on Twitter RSS feed
Email Pass   Register

Footymad Historical Football Results

Football results from or before Saturday, 22nd March 2003

Saturday, 22nd March 2003
Tennent's Scottish F.A. Cup
  5th Round
  FALKIRK (SCD1) (0)  1 DUNDEE (SPL) (0)  1 7,403  
  Coyle 57
Gómez Novo 66
  
  STRANRAER (SCD2) (0)  0 MOTHERWELL (SPL) (1)  4 4,500  
    Wright 31 (og)
McFadden 54
Adams 59
Lehmann 87
  
Barclaycard Premiership
  BIRMINGHAM CITY (0)  1 WEST BROMWICH ALBION (0)  0 29,449  
  Horsfield 90
    
  CHELSEA (1)  5 MANCHESTER CITY (0)  0 41,105  
  Hasselbaink 37
Terry 43
Stanic 58
Lampard 69
Gallas 79
    
  MANCHESTER UNITED (1)  3 FULHAM (0)  0 67,706  
  van Nistelrooy 45 (pen), 68, 90
    
  MIDDLESBROUGH (0)  1 CHARLTON ATHLETIC (1)  1 29,080  
  Christie 57
Johansson 26
  
  NEWCASTLE UNITED (1)  5 BLACKBURN ROVERS (0)  1 52,106  
  Solano 24
Robert 61
Jenas 85
Gresko 89 (og)
Bellamy 90
Duff 54
  
  SOUTHAMPTON (1)  2 ASTON VILLA (2)  2 31,888  
  Beattie 40
Davies 90
Hendrie 30
Vassell 36
  
  WEST HAM UNITED (1)  2 SUNDERLAND (0)  0 35,033  
  Defoe 24
Kanoute 65
    
Nationwide League Division One
  BRADFORD CITY (0)  0 READING (0)  1 11,385  
    Forster 66
  
  BURNLEY (0)  1 GRIMSBY TOWN (1)  1 13,445  
  Moore 52
Campbell 43
  
  COVENTRY CITY (0)  1 LEICESTER CITY (0)  2 16,610  
  Jansen 71
McKinlay 48
Scowcroft 68
  
  CRYSTAL PALACE (1)  2 WALSALL (0)  0 19,102  
  Freedman 33 (pen)
Routledge 89
    
  IPSWICH TOWN (1)  2 BRIGHTON & HOVE ALBION (0)  2 26,078  
  Bent 20
Reuser 85
Marshall 66 (og)
Rougier 81
  
  MILLWALL (2)  3 SHEFFIELD WEDNESDAY (0)  0 7,338  
  Reid 42, 45
Ifill 54
    
  NOTTINGHAM FOREST (2)  4 NORWICH CITY (0)  0 27,296  
  Huckerby 11
Harewood 22
Williams 56
Brennan 82
    
  PRESTON NORTH END (0)  1 PORTSMOUTH (1)  1 16,665  
  McKenna 89
Aiyegbeni 5
  
  ROTHERHAM UNITED (1)  2 WIMBLEDON (0)  1 5,896  
  Robins 19
Branston 48
Connolly 59
  
  SHEFFIELD UNITED (1)  2 DERBY COUNTY (0)  0 18,401  
  Tonge 18
Kabba 55
    
  WATFORD (0)  1 STOKE CITY (1)  2 12,570  
  Helguson 67
Hoekstra 34 (pen), 49
  
  WOLVERHAMPTON WANDERERS (5)  6 GILLINGHAM (0)  0 25,171  
  Hill 16
Cameron 22
Kennedy 37, 45
Miller 45, 48
    
Nationwide League Division Two
  BARNSLEY (1)  1 COLCHESTER UNITED (1)  1 9,154  
    McGleish 38
  
  CHESTERFIELD (1)  4 WYCOMBE WANDERERS (0)  0 3,081  
  Close 28
Reeves 53
Brandon 67
Hudson 86
    
  HUDDERSFIELD TOWN (1)  1 BRISTOL CITY (2)  2 9,477  
  Smith 19 (pen)
Hill 17
Peacock 36
  
  LUTON TOWN (0)  0 CREWE ALEXANDRA (2)  4 6,607  
    Ashton 7, 21
Vaughan 50
Jack 78
  
  NORTHAMPTON TOWN (0)  0 OLDHAM ATHLETIC (0)  2 5,646  
    Andrews 67, 89
  
  PETERBOROUGH UNITED (0)  0 TRANMERE ROVERS (0)  0 4,158  
        
  PLYMOUTH ARGYLE (2)  3 BRENTFORD (0)  0 6,835  
  Keith 12, 47
Smith 28
    
  PORT VALE (0)  1 CHELTENHAM TOWN (1)  2 4,800  
  McPhee 74
McCann 43
Alsop 81
  
  QUEENS PARK RANGERS (0)  0 WIGAN ATHLETIC (0)  1 14,703  
    Ellington 47
  
  STOCKPORT COUNTY (1)  2 BLACKPOOL (2)  2 6,599  
  Lambert 45
Beckett 77
Murphy 32
  
  SWINDON TOWN (1)  5 NOTTS. COUNTY (0)  0 4,246  
  Parkin 43, 61, 89
Gurney 59
Duke 69
    
Nationwide League Division Three
  BOSTON UNITED (0)  1 RUSHDEN & DIAMONDS (0)  1 3,504  
  Jones 67
Darby 79
  
  BOURNEMOUTH (0)  1 TORQUAY UNITED (0)  1 7,181  
  Clist 90 (og)
Bedeau 68
  
  BRISTOL ROVERS (1)  1 HARTLEPOOL UNITED (0)  0 6,557  
  Hyde 7
    
  BURY (2)  2 LINCOLN CITY (0)  0 2,776  
  Clegg 33, 42
    
  CARLISLE UNITED (0)  0 CAMBRIDGE UNITED (1)  1 3,992  
    Kitson 26
  
  EXETER CITY (1)  1 ROCHDALE (1)  1 4,003  
  Walker 15 (pen)
Connor 30 (pen)
  
  HULL CITY (0)  2 SHREWSBURY TOWN (0)  0 13,253  
  Otsemobor 81
Keates 90 (pen)
    
  KIDDERMINSTER HARRIERS (2)  2 SWANSEA CITY (2)  2 3,172  
  Shilton 8
Smith 32
Johnrose 22
Martinez 35
  
  OXFORD UNITED (0)  0 MACCLESFIELD TOWN (1)  1 5,691  
    Tipton 39
  
  SCUNTHORPE UNITED (0)  0 DARLINGTON (0)  1 3,904  
    Keltie 81
  
  SOUTHEND UNITED (1)  1 LEYTON ORIENT (0)  0 4,148  
  Salter 5
    
  WREXHAM (0)  1 YORK CITY (1)  1 4,425  
  Morrell 89
Edmondson 6
  
Nationwide Conference
  BARNET (1)  2 HEREFORD UNITED (1)  1 1,588  
  Midgley 5
Agogo 68
Parry 20
  
  BURTON ALBION (1)  2 FARNBOROUGH TOWN (0)  0 2,776  
  Moore 43
Howard 73
    
  CHESTER CITY (0)  2 SOUTHPORT (0)  0 2,292  
  Lane 73 (og)
Carden 86
    
  DAGENHAM & REDBRIDGE (0)  0 HALIFAX TOWN (0)  0 1,766  
        
  FOREST GREEN ROVERS (0)  1 NORTHWICH VICTORIA (0)  0 676  
  Meechan 58
    
  GRAVESEND & NORTHFLEET (2)  3 MORECAMBE (2)  2 1,040  
  Bentley 31
McKimm 33
Kwashi 90
Curtis 8
Drummond 32
  
  MARGATE (1)  1 YEOVIL TOWN (0)  2 1,083  
  Sigere 11
Jackson 70, 83
  
  NUNEATON TOWN (0)  1 KETTERING TOWN (0)  0 1,549  
  Brodie 52
    
  SCARBOROUGH (1)  1 STEVENAGE BOROUGH (2)  2 1,193  
  Shepherd 22 (pen)
Maamria 4
Carroll 27
  
  TELFORD UNITED (1)  1 LEIGH GENESIS (1)  1 802  
  Moore 27
Monk 34
  
  WOKING (1)  2 DONCASTER ROVERS (2)  2 2,007  
  Williams 7
Nade 66
Foster 14
Campbell 28 (og)
  
Bells Scottish Division One
  CLYDE (1)  3 AYR UNITED (0)  0 1,015  
  Millen 25 (pen), 67 (pen)
Falconer 88
    
  ROSS COUNTY (0)  0 QUEEN OF THE SOUTH (1)  3 1,976  
    O'Neil 40
O'Connor 73
Mackay 80 (og)
  
  ST. MIRREN (0)  1 ST. JOHNSTONE (2)  3 2,369  
  Gillies 60
Maxwell 12
MacDonald 19
Dodds 74
  
Bells Scottish Division Two
  BERWICK RANGERS (0)  0 FORFAR ATHLETIC (0)  0 389  
        
  BRECHIN CITY (0)  0 AIRDRIE UNITED (0)  1 680  
    McKeown 66
  
  RAITH ROVERS (1)  1 HAMILTON ACADEMICAL (0)  1 1,762  
  Patino 18
Dennis 47 (og)
  
  STENHOUSEMUIR (0)  1 COWDENBEATH (0)  1 615  
  Donnelly 82
Gordon 77
  
Bells Scottish Division Three
  ELGIN CITY (0)  0 ALBION ROVERS (0)  1 333  
    Yardley 65
  
  GREENOCK MORTON (1)  1 MONTROSE (0)  0 2,039  
  Gaughan 16
    
  GRETNA (1)  3 EAST STIRLINGSHIRE (0)  1 244  
  Hore 45
McGuffie 89
Gordon 90
Kelly 75
  
  QUEEN'S PARK (0)  1 PETERHEAD (2)  2 575  
  Martin 67
Roddie 25, 35
  
  STIRLING ALBION (0)  1 EAST FIFE (0)  2 866  
  O'Brien 75
Farnan 51
McLean 89
  
Unibond (Northern) Premier
  Accrington Stanley (0)  1 Whitby Town (0)  1 1,355  
  Altrincham (0)  0 Hucknall Town (0)  0 557  
  Barrow (1)  2 Colwyn Bay (1)  1 854  
  Blyth Spartans (1)  2 Burscough (1)  1 276  
  Droylsden (0)  0 Hyde (0)  1 347  
  Gateshead (2)  2 Frickley Athletic (1)  2 202  
  Harrogate Town (0)  1 Marine (1)  1 425  
  Runcorn FC Halton (0)  0 Gainsborough Trinity (1)  5 429  
  Vauxhall Motors (0)  0 Bradford Park Avenue (1)  1 251  
  Wakefield (1)  1 Lancaster City (0)  4 188  
  Worksop Town (2)  3 Ashton United (0)  2 478  
Dr. Martens (Southern) Premier
  Cambridge City (3)  3 Crawley Town (0)  0 402  
  Chelmsford City (0)  1 Welling United (1)  1 579  
  Folkestone Invicta (3)  4 Hinckley United (0)  0 338  
  Grantham Town (2)  3 Hednesford Town (0)  0 362  
  Halesowen Town (0)  1 Bath City (0)  1 507  
  Hastings United (0)  1 Newport County (1)  3 390  
  Havant & Waterlooville (1)  2 Worcester City (1)  1 502  
  Ilkeston (1)  3 Weymouth (0)  1 363  
  Moor Green (1)  1 Chippenham Town (0)  0 335  
  Tamworth (0)  1 Dover Athletic (2)  2 1,529  
  Tiverton Town (1)  2 Stafford Rangers (1)  1 661  
Ryman (Isthmian) Premier
  Aylesbury United (0)  1 Thurrock (0)  1 402  
  Basingstoke Town (1)  2 Billericay Town (0)  0 368  
  Canvey Island (0)  1 Bedford Town (0)  1 613  
  Enfield (0)  1 Braintree Town (1)  1 101  
  Grays Athletic (1)  1 Chesham United (0)  0 225  
  Hendon (0)  0 Bishop's Stortford (1)  3 307  
  Heybridge Swifts (0)  0 Maidenhead United (0)  0 173  
  Hitchin Town (1)  2 Hayes (1)  3 310  
  Kingstonian (1)  1 Harrow Borough (2)  3 327  
  Redbridge (2)  3 Hampton & Richmond Borough (0)  0 92  
  St. Albans City (0)  2 Sutton United (1)  1 466  
Unibond (Northern) Div. One
  Bishop Auckland (0)  1 Guiseley (0)  1 208  
  Eastwood Town (0)  0 Alfreton Town (2)  4 360  
  Leek Town (1)  1 Kendal Town (0)  0 233  
  Matlock Town (1)  1 North Ferriby United (0)  0 290  
  Radcliffe Borough (2)  5 Kidsgrove Athletic (1)  1 185  
  Rossendale United (2)  3 Lincoln United (1)  3 106  
  Spennymoor United (0)  0 Chorley (0)  0 199  
  Trafford (1)  1 Bamber Bridge (2)  3 108  
  Witton Albion (0)  1 Belper Town (0)  1 266  
  Workington (1)  1 Stocksbridge Park Steels (1)  2 299  
Friday, 21st March 2003
Nationwide League Division Two
  CARDIFF CITY (0)  1 MANSFIELD TOWN (0)  0 13,009  
  Earnshaw 62
    
Thursday, 20th March 2003
UEFA Cup
  Quarter Final 2nd Leg
  BESIKTAS (TUR) (0)  1 LAZIO (ITA) (2)  2 28,000  
  Yalcin 83
Fiore 5
Castroman 10
  
Lazio won 3-1 on aggregate
  BOAVISTA (POR) (0)  1 MALAGA (SPA) (0)  0 8,500  
  Claudio 82
    
after extra time, 90 minutes 1-0, aggregate score 1-1, Boavista won 4-1 on penalties
  LIVERPOOL (0)  0 CELTIC (1)  2 44,238  
    Thompson 45
Hartson 81
  
Celtic won 3-1 on aggregate
  PANATHINAIKOS (GRE) (0)  0 FC PORTO (POR) (1)  2 15,000  
    Derlei 15, 103
  
after extra time, 90 minutes 0-1, FC Porto won 2-1 on aggregate
Wednesday, 19th March 2003
UEFA Champions League
  Second Stage Group A
  BAYER LEVERKUSEN (GER) (0)  0 INTER MILAN (ITA) (1)  2 43,000  
    Obafemi 36
Emre 90
  
  NEWCASTLE UNITED (0)  0 BARCELONA (SPA) (0)  2 51,883  
    Kluivert 60
Motta 74
  
  Second Stage Group B
  ROMA (ITA) (1)  1 AJAX AMSTERDAM (HOL) (1)  1 62,000  
  Cassano 23
van der Meyde 1
  
  VALENCIA (SPA) (1)  2 ARSENAL (0)  1 50,000  
  Carew 34, 57
Henry 49
  
Nationwide League Division One
  COVENTRY CITY (0)  0 PORTSMOUTH (3)  4 13,922  
    Caldwell 14 (og)
Stone 17
Harper 23
  
  NOTTINGHAM FOREST (2)  3 DERBY COUNTY (0)  0 29,725  
  Harewood 13, 49 (pen)
Huckerby 15
    
Nationwide League Division Two
  SWINDON TOWN (0)  1 BRISTOL CITY (0)  1 8,629  
  Parkin 66
Robins 48
  
Nationwide League Division Three
  BOSTON UNITED (1)  1 DARLINGTON (0)  0 2,186  
  Greaves 5
    
Bank of Scotland Scottish Premier
  RANGERS (1)  2 MOTHERWELL (0)  0 49,240  
  Ferguson 18
Lovenkrands 46
    
Bells Scottish Division Three
  STIRLING ALBION (0)  1 QUEEN'S PARK (0)  0 465  
  O'Brien 63
    
Unibond (Northern) Premier
  Bradford Park Avenue (0)  5 Blyth Spartans (0)  1    
Dr. Martens (Southern) Premier
  Tiverton Town (0)  0 Dover Athletic (0)  0    
Unibond (Northern) Div. One
  Kidsgrove Athletic (1)  2 Stocksbridge Park Steels (1)  3 114  
Tuesday, 18th March 2003
UEFA Champions League
  Second Stage Group C
  AC MILAN (ITA) (0)  0 BORUSSIA DORTMUND (GER) (0)  1 60,000  
    Koller 80
  
  LOKOMOTIV MOSCOW (RUS) (0)  0 REAL MADRID (SPA) (1)  1 24,000  
    Ronaldo 35
  
  Second Stage Group D
  DEPORTIVO LA CORUNA (SPA) (1)  2 MANCHESTER UNITED (0)  0 25,000  
  V’ctor 32
Lynch 47 (og)
    
  FC BASEL (SWI) (1)  2 JUVENTUS (ITA) (1)  1 30,501  
  Cantaluppi 38
Gimenez 90
Tacchinardi 10
  
Nationwide League Division One
  BRADFORD CITY (1)  1 SHEFFIELD WEDNESDAY (0)  1 14,453  
  Gray 32 (pen)
Crane 82
  
  BURNLEY (0)  1 LEICESTER CITY (0)  2 14,554  
    Dickov 79
Benjamin 83
  
  CRYSTAL PALACE (0)  0 WIMBLEDON (1)  1 13,713  
    Andersen 45
  
  IPSWICH TOWN (2)  3 READING (1)  1 24,108  
  Gaardsoe 1
Holland 31
Forster 16
  
  MILLWALL (0)  0 NORWICH CITY (2)  2 6,854  
    Mackay 8
Abbey 38
  
  PRESTON NORTH END (2)  5 WALSALL (0)  0 11,170  
  Alexander 14 (pen)
Etuhu 28
Cresswell 63
Koumantarakis 73, 85
    
  ROTHERHAM UNITED (0)  0 GRIMSBY TOWN (0)  1 6,239  
    Oster 90
  
  SHEFFIELD UNITED (2)  2 BRIGHTON & HOVE ALBION (1)  1 19,357  
  Windass 5
Brown 34
Carpenter 14
  
  WATFORD (0)  0 GILLINGHAM (0)  1 10,492  
    Shaw 65
  
  WOLVERHAMPTON WANDERERS (0)  0 STOKE CITY (0)  0 25,235  
        
Nationwide League Division Two
  BARNSLEY (1)  1 TRANMERE ROVERS (0)  1 8,786  
    Nicholson 49 (pen)
  
  CARDIFF CITY (1)  2 BLACKPOOL (1)  1 11,788  
  Earnshaw 44
Mahon 51
Taylor 37
  
  CHESTERFIELD (0)  0 COLCHESTER UNITED (1)  4 3,226  
    Izzet 43
Williams 48
Payne 68 (og)
Morgan 81
  
  HUDDERSFIELD TOWN (0)  1 MANSFIELD TOWN (0)  1 8,756  
  Smith 51
Corden 79 (pen)
  
  LUTON TOWN (0)  0 OLDHAM ATHLETIC (0)  0 6,142  
        
  NORTHAMPTON TOWN (1)  2 NOTTS. COUNTY (0)  0 5,254  
  Asamoah 24
Sampson 82
    
  PETERBOROUGH UNITED (1)  1 WYCOMBE WANDERERS (1)  2 3,627  
  Clarke 43
Rogers 37
Holligan 89
  
  PLYMOUTH ARGYLE (0)  1 CREWE ALEXANDRA (2)  3 7,777  
  Stonebridge 47
Jack 4
Ashton 13, 68
  
  PORT VALE (1)  1 BRENTFORD (0)  0 3,241  
  Collins 36
    
  QUEENS PARK RANGERS (2)  4 CHELTENHAM TOWN (1)  1 11,370  
  Gallen 40
Duff 45 (og)
Cook 55
Devaney 5
  
  STOCKPORT COUNTY (0)  1 WIGAN ATHLETIC (0)  1 6,719  
  Welsh 70
De Vos 63
  
Nationwide League Division Three
  BOURNEMOUTH (2)  3 LEYTON ORIENT (0)  1 5,078  
  Jones 9 (og)
Joseph 17 (og)
Feeney 60
Thorpe 90
  
  BRISTOL ROVERS (0)  0 YORK CITY (1)  1 8,248  
    Edmondson 42
  
  BURY (0)  0 RUSHDEN & DIAMONDS (0)  1 2,291  
    Darby 70
  
  CARLISLE UNITED (1)  1 MACCLESFIELD TOWN (0)  0 3,773  
  Birch 8
    
  EXETER CITY (2)  2 LINCOLN CITY (0)  0 4,009  
  Coppinger 22
Sheldon 37
    
  HULL CITY (0)  1 TORQUAY UNITED (0)  1 13,310  
  Elliott 54
Hill 90
  
  KIDDERMINSTER HARRIERS (0)  2 SHREWSBURY TOWN (2)  2 3,284  
  Broughton 62, 68
Wilding 7
Rodgers 15
  
  OXFORD UNITED (0)  1 CAMBRIDGE UNITED (0)  1 4,983  
  Louis 65
Guttridge 59
  
  SCUNTHORPE UNITED (2)  3 ROCHDALE (1)  1 3,616  
  Hayes 10, 66
Kilford 31
McCourt 13
  
  SOUTHEND UNITED (0)  0 SWANSEA CITY (0)  2 2,832  
    Thomas 60 (pen)
Nugent 64
  
  WREXHAM (1)  2 HARTLEPOOL UNITED (0)  0 4,658  
  Green 3, 66
    
Nationwide Conference
  BARNET (1)  3 SOUTHPORT (0)  1 769  
  Midgley 14, 90
    
  NORTHWICH VICTORIA (0)  1 KETTERING TOWN (1)  2 459  
  Turner 64
Asombang 32
Norman 81
  
Bells Scottish Division One
  CLYDE (3)  4 INVERNESS CALEDONIAN THISTLE (1)  1 703  
  McConalogue 1
Millen 7
Gilhaney 16
Shields 86
Robson 26
  
  QUEEN OF THE SOUTH (2)  3 ARBROATH (0)  0 1,108  
  O'Neil 13, 79
O'Connor 41
    
Bells Scottish Division Two
  COWDENBEATH (1)  2 DUMBARTON (0)  0 218  
  Mauchlen 18 (pen)
Elliott 79
    
  HAMILTON ACADEMICAL (1)  1 STRANRAER (2)  2 743  
  Graham 10
Moore 13
Harty 18
  
Unibond (Northern) Premier
  Burscough (2)  3 Worksop Town (1)  2    
  Frickley Athletic (0)  1 Stalybridge Celtic (0)  0    
  Harrogate Town (1)  3 Altrincham (0)  0    
  Runcorn FC Halton (0)  1 Lancaster City (2)  4    
Dr. Martens (Southern) Premier
  Cambridge City (0)  1 Moor Green (2)  2    
  Halesowen Town (1)  1 Newport County (0)  2    
  Hinckley United (0)  0 Grantham Town (0)  0    
Ryman (Isthmian) Premier
  Aylesbury United (1)  2 Hitchin Town (1)  2    
  Billericay Town (0)  0 Boreham Wood (0)  0    
  Maidenhead United (2)  2 Bishop's Stortford (2)  3    
  Redbridge (2)  2 Kingstonian (1)  2    
  Sutton United (0)  1 Thurrock (1)  1    
Unibond (Northern) Div. One
  Alfreton Town (2)  3 Radcliffe Borough (1)  2 329  
  Ossett Town (0)  0 Leek Town (2)  5 134  
  Spennymoor United (1)  3 Lincoln United (0)  1 139  
  Trafford (0)  1 Kendal Town (1)  2 70  
Monday, 17th March 2003
Nationwide Conference
  CHESTER CITY (0)  1 DONCASTER ROVERS (0)  0 2,928  
  Twiss 61
    
Unibond (Northern) Premier
  Marine (0)  0 Colwyn Bay (0)  0    
Unibond (Northern) Div. One
  Guiseley (0)  0 Witton Albion (0)  1 145  
  Stocksbridge Park Steels (1)  1 Workington (1)  2 161  
Sunday, 16th March 2003
CIS Insurance Scottish League Cup
  Final
  CELTIC (SPL) (0)  1 RANGERS (SPL) (2)  2 52,000  
  Larsson 57
Caniggia 23
Lovenkrands 35
  
Barclaycard Premiership
  MANCHESTER CITY (0)  1 BIRMINGHAM CITY (0)  0 34,596  
  Fowler 72
    
  TOTTENHAM HOTSPUR (0)  2 LIVERPOOL (0)  3 36,077  
  Taricco 49
Owen 51
Heskey 72
Gerrard 82
  
  WEST BROMWICH ALBION (0)  0 CHELSEA (1)  2 27,012  
    Stanic 38
Zola 56
  
Bank of Scotland Scottish Premier
  KILMARNOCK (0)  1 DUNFERMLINE ATHLETIC (0)  1 4,021  
  Boyd 81
Shields 59 (og)
  
Sign up now to receive our FREE CELTICMAD Newsletter