NSL Premiership 1996/1997 Final Table: 1. Manning Rangers 34 23 5 6 53 28 74 ** Champions ** 2. Kaizer Chiefs 34 18 12 4 56 23 66 3. Orlando Pirates 34 18 10 6 43 27 64 4. Umtata Bucks 34 16 9 9 45 29 57 5. Hellenic 34 16 7 11 46 31 56 6. Mamelodi Sundowns 34 13 11 10 35 30 50 7. Jomo Cosmos 34 11 16 7 32 27 49 8. Cape Town Spurs 34 14 6 14 40 45 48 9. Supersport United 34 10 16 8 40 35 46 10. Bloemfontein Celtic 34 13 5 16 38 39 44 11. Moroka Swallows 34 11 10 13 33 35 43 12. Wits University 34 11 8 15 27 31 41 13. Qwa Qwa Stars 34 10 8 16 39 49 38 14. Amazulu 34 9 10 15 34 46 37 14. Vaal Professionals 34 10 6 18 38 49 36 16. Real Rovers 34 8 12 14 35 46 36 17. Warriors 34 10 5 19 32 50 35 ** Relegated ** 18. Witbank Aces 34 4 7 23 26 72 19 ** Relegated ** Promoted : Santos and African Wanderers Round 1 Bloemfontein Celtic - Qwa Qwa Stars 0-1 Cape Town Spurs - Hellenic 0-0 Jomo Cosmos - Kaizer Chiefs 0-1 Manning Rangers - Amazulu 0-2 Michau Warriors - Umtata Bucks 1-2 Orlando Pirates - Moroka Swallows 2-1 Real Rovers - Mamelodi Sundowns 1-0 Vaal Professionals - Wits University 0-0 Witbank Aces - Supersport United 0-0 Round 2 Amazulu - Jomo Cosmos 1-1 Hellenic - Real Rovers 3-0 Kaizer Chiefs - Bloemfontein Celtic 2-0 Mamelodi Sundowns - Vaal Professionals 1-0 Michau Warriors - Witbank Aces 1-0 Moroka Swallows - Manning Rangers 1-2 Qwa Qwa Stars - Umtata Bucks 1-1 Supersport United - Cape Town Spurs 2-0 Wits University - Orlando Pirates 2-0 Round 3 Bloemfontein Celtic - Jomo Cosmos 0-2 Cape Town Spurs - Michau Warriors 1-1 Manning Rangers - Wits University 1-0 Moroka Swallows - Amazulu 1-1 Orlando Pirates - Mamelodi Sundowns 0-0 Real Rovers - Supersport United 1-1 Umtata Bucks - Kaizer Chiefs 0-1 Vaal Professionals - Hellenic 3-0 Witbank Aces - Qwa Qwa Stars 0-1 Round 4 Amazulu - Bloemfontein Celtic 1-2 Hellenic - Orlando Pirates Jomo Cosmos - Umtata Bucks 0-3 Kaizer Chiefs - Witbank Aces 7-2 Mamelodi Sundowns - Manning Rangers 1-2 Michau Warriors - Real Rovers 0-1 Qwa Qwa Stars - Cape Town Spurs 1-2 Supersport United - Vaal Professionals Wits University - Moroka Swallows 0-1 Round 5 Cape Town Spurs - Kaizer Chiefs 1-4 Manning Rangers - Hellenic 1-0 Moroka Swallows - Mamelodi Sundowns 0-0 Orlando Pirates - Supersport United 0-1 Real Rovers - Qwa Qwa Stars 0-0 Umtata Bucks - Bloemfontein Celtic 1-0 Vaal Professionals - Michau Warriors 3-0 Witbank Aces - Jomo Cosmos 0-2 Wits University - Amazulu 2-2 Round 6 Amazulu - Vaal Professionals 2-1 Bloemfontein Celtic - Mamelodi Sundowns 0-1 Cape Town Spurs - Manning Rangers 0-1 Jomo Cosmos - Hellenic 1-1 Kaizer Chiefs - Supersport United 1-1 Qwa Qwa Stars - Michau Warriors 0-0 Real Rovers - Orlando Pirates 3-0 Umtata Bucks - Wits University 1-0 Witbank Aces - Moroka Swallows 0-2 Round 7 Amazulu - Umtata Bucks 0-2 Bloemfontein Celtic - Witbank Aces 0-0 Hellenic - Moroka Swallows 1-0 Jomo Cosmos - Cape Town Spurs 1-1 Kaizer Chiefs - Real Rovers 5-0 Mamelodi Sundowns - Wits University 0-3 Michau Warriors - Orlando Pirates 1-3 Qwa Qwa Stars - Vaal Professionals 4-1 Supersport United - Manning Rangers 0-2 Round 8 Cape Town Spurs - Bloemfontein Celtic 1-0 Mamelodi Sundowns - Amazulu 3-0 Manning Rangers - Michau Warriors 0-0 Moroka Swallows - Supersport United 0-1 Orlando Pirates - Qwa Qwa Stars 3-0 Real Rovers - Jomo Cosmos 1-1 Vaal Professionals - Kaizer Chiefs 0-2 Witbank Aces - Umtata Bucks 0-0 Wits University - Hellenic 1-2 Round 9 Cape Town Spurs - Witbank Aces 3-0 Hellenic - Amazulu 1-1 Mamelodi Sundowns - Supersport United 3-2 Manning Rangers - Kaizer Chiefs 1-3 Moroka Swallows - Qwa Qwa Stars 0-1 Orlando Pirates - Jomo Cosmos 1-0 Real Rovers - Umtata Bucks 1-0 Vaal Professionals - Bloemfontein Celtic 1-0 Wits University - Michau Warriors 1-0 Round 10 Amazulu - Cape Town Spurs 0-1 Bloemfontein Celtic - Orlando Pirates 1-0 Jomo Cosmos - Manning Rangers 1-4 Kaizer Chiefs - Moroka Swallows 0-0 Michau Warriors - Mamelodi Sundowns 1-0 Qwa Qwa Stars - Wits University 2-0 Supersport United - Hellenic 1-0 Umtata Bucks - Vaal Professionals 3-1 Witbank Aces - Real Rovers 1-1 Round 11 Hellenic 1 - 0 Michau Warriors (Fri, 13/12/96) Supersport United 1 - 0 Amazulu (Fri, 13/12/96) Manning Rangers 3 - 2 Bloemfontein Celtic (Fri, 13/12/96) Wits University 0 - 0 Kaizer Chiefs (Sat, 14/12/96) Real Rovers 0 - 2 Cape Town Spurs (Sun, 15/12/96) Moroka Swallows 0 - 0 Jomo Cosmos (Sun, 15/12/96) Mamelodi Sundowns 2 - 0 Qwa Qwa Stars (Sun, 15/12/96) Orlando Pirates - Umtata Bucks (Sun, 15/12/96) Vaal Professionals - Witbank Aces (Sun, 15/12/96) (Games postponed due to waterlogged pitches) Round 14 Hellenic 0 - 0 Mamelodi Sundowns (Fri, 17/01/97) Supersport United 0 - 0 Wits University (Fri, 17/01/97) Kaizer Chiefs 0 - 1 Orlando Pirates (Sat, 18/01/97) Amazulu 1 - 0 Witbank Aces (Sun, 19/01/97) Umtata Bucks 2 - 1 Cape Town Spurs (Sun, 19/01/97) Bloemfontein Celtic 2 - 1 Real Rovers (Sun, 19/01/97) Jomo Cosmos 3 - 2 Vaal Professionals (Sun, 19/01/97) Qwa Qwa Stars 0 - 1 Manning Rangers (Sun, 19/01/97) Michau Warriors 1 - 2 Moroka Swallows (Sun, 19/01/97) Round 16 Kaizer Chiefs 2 - 1 Qwa Qwa Stars (Sat, 25/01/97) Amazulu 1 - 1 Orlando Pirates (Sat, 25/01/97) Jomo Cosmos 0 - 1 Michau Warriors (Sat, 26/01/97) Cape Town Spurs 2 - 1 Wits University (Sun, 25/01/97) Umtata Bucks 3 - 1 Hellenic (Sun, 26/01/97) Bloemfontein Celtic 1 - 3 Supersport United (Sun, 26/01/97) Real Rovers 0 - 2 Moroka Swallows (Sun, 26/01/97) Vaal Professionals 0 - 1 Manning Rangers (Sun, 26/01/97) Witbank Aces 0 - 4 Mamelodi Sundowns (Sun, 26/01/97) Round 17 Hellenic 2 - 1 Witbank Aces (Fri, 31/01/97) Manning Rangers 2 - 2 Orlando Pirates (Fri, 31/01/97) Wits University 0 - 0 Real Rovers (Fri, 31/01/97) Supersport United 1 - 1 Umtata Bucks (Sat, 01/02/97) Moroka Swallows 2 - 3 Vaal Professionals (Sat, 01/02/97) Amazulu 1 - 1 Kaizer Chiefs (Sun, 02/02/97) Qwa Qwa Stars 1 - 3 Jomo Cosmos (Sun, 02/02/97) Mamelodi Sundowns 0 - 1 Cape Town Spurs (Sun, 02/02/97) Michau Warriors 2 - 3 Bloemfontein Celtic (Sun, 02/02/97) Round 18 Hellenic 3 - 0 Cape Town Spurs (Fri, 07/02/97) Wits University 0 - 0 Vaal Professionals (Fri, 07/02/97) Supersport United 4 - 0 Witbank Aces (Fri, 07/02/97) Umtata Bucks 4 - 2 Michau Warriors (Sat, 08/02/97) Kaizer Chiefs 0 - 0 Jomo Cosmos (Sat, 08/02/97) Amazulu 0 - 1 Manning Rangers (Sun, 09/02/97) Qwa Qwa Stars 0 - 2 Bloemfontein Celtic (Sun, 09/02/97) Mamelodi Sundowns 2 - 2 Real Rovers (Sun, 09/02/97) Moroka Swallows 0 - 1 Orlando Pirates (Sun, 09/02/97) ROUND 19 Manning Rangers 2 - 1 Moroka Swallows (Fri, 14/02/97) Cape Town Spurs 1 - 1 Supersport United (Fri, 14/02/97) Jomo Cosmos 3 - 1 Amazulu (Sat, 15/02/97) Orlando Pirates 3 - 1 Wits University (Sat, 15/02/97) Umtata Bucks 2 - 4 Qwa Qwa Stars (Sun, 16/02/97) * Bloemfontein Celtic 0 - 2 Kaizer Chiefs (Sun, 16/02/97) * Real Rovers 3 - 0 Hellenic (Sun, 16/02/97) Vaal Professionals 3 - 2 Mamelodi Sundowns (Sun, 16/02/97) Witbank Aces 2 - 0 Michau Warriors (Sun, 16/02/97) * (Game abandoned after 40 minutes due to crowd trouble) ROUND 20 Hellenic 2 - 0 Vaal Professionals (Fri, 21/02/97) Supersport United 0 - 0 Real Rovers (Fri, 21/02/97) Wits University 1 - 3 Manning Rangers (Sat, 22/02/97) Amazulu 1 - 1 Moroka Swallows (Sun, 23/02/97) Jomo Cosmos 1 - 0 Bloemfontein Celtic (Sun, 23/02/97) Kaizer Chiefs 0 - 0 Umtata Bucks (Sun, 23/02/97) Qwa Qwa Stars 2 - 1 Witbank Aces (Sun, 23/02/97) Mamelodi Sundowns 1 - 0 Orlando Pirates (Sun, 23/02/97) Michau Warriors 1 - 2 Cape Town Spurs (Sun, 23/02/97) ROUND 21 Manning Rangers 0 - 1 Mamelodi Sundowns (Fri, 28/02/97) Cape Town Spurs 3 - 2 Qwa Qwa Stars (Fri, 28/02/97) Moroka Swallows 2 - 0 Wits University (Sat, 01/03/97) Umtata Bucks 0 - 0 Jomo Cosmos (Sun, 02/03/97) Bloemfontein Celtic 5 - 3 Amazulu (Sun, 02/03/97) Orlando Pirates 0 - 3 Hellenic (Sun, 02/03/97) Real Rovers 2 - 1 Michau Warriors (Sun, 02/03/97) Vaal Professionals 1 - 1 Supersport United (Sun, 02/03/97) Witbank Aces 0 - 1 Kaizer Chiefs (Sun, 02/03/97) ROUND 22 Hellenic 2 - 0 Manning Rangers (Fri, 07/03/97) Kaizer Chiefs 1 - 2 Cape Town Spurs (Sat, 08/03/97) Amazulu 0 - 1 Wits University (Sun, 09/03/97) Qwa Qwa Stars 3 - 0 Real Rovers (Sun, 09/03/97) Michau Warriors 2 - 0 Vaal Professionals (Sun, 09/03/97) ROUND 23 Wits University 2 - 0 Mamelodi Sundowns (Fri, 14/03/97) Orlando Pirates 2 - 1 Michau Warriors (Sat, 15/03/97) Umtata Bucks 0 - 0 Amazulu (Sun, 16/03/97) Real Rovers 1 - 2 Kaizer Chiefs (Sun, 16/03/97) Moroka Swallows 1 - 2 Hellenic (Sun, 16/03/97) Vaal Professionals 1 - 0 Qwa Qwa Stars (Sun, 16/03/97) Witbank Aces 0 - 2 Bloemfontein Celtic (Sun, 16/03/97) Manning Rangers 2 - 2 Supersport United (Sun, 16/03/97) Cape Town Spurs 1 - 3 Jomo Cosmos (Mon, 17/03/97) ROUND 24 Hellenic 0 - 1 Wits University (Fri, 21/03/97) Supersport United 1 - 1 Moroka Swallows (Sat, 22/03/97) Kaizer Chiefs 1 - 1 Vaal Professionals (Sun, 23/03/97) Amazulu 0 - 1 Mamelodi Sundowns (Sun, 23/03/97) Bloemfontein Celtic 3 - 1 Cape Town Spurs (Sun, 23/03/97) Michau Warriors 2 - 3 Manning Rangers (Sun, 23/03/97) ROUND 25 Manning Rangers 2 - 1 Cape Town Spurs (Fri, 28/03/97) Vaal Professionals 1 - 2 Amazulu (Fri, 28/03/97) Wits University 0 - 1 Umtata Bucks (Fri, 28/03/97) Mamelodi Sundowns 1 - 1 Bloemfontein Celtic (Fri, 28/03/97) Orlando Pirates 3 - 0 Real Rovers (Fri, 28/03/97) Supersport United 1 - 1 Kaizer Chiefs (Fri, 28/03/97) Moroka Swallows 0 - 2 Witbank Aces (Fri, 28/03/97) Hellenic 1 - 0 Jomo Cosmos (Fri, 28/03/97) Michau Warriors 3 - 0 Qwa Qwa Stars (Fri, 28/03/97) ROUND 26 Michau Warriors 1 - 0 Wits University (Mon, 31/03/97) Witbank Aces 2 - 1 Cape Town Spurs (Mon, 31/03/97) Amazulu 0 - 1 Hellenic (Mon, 31/03/97) Umtata Bucks 1 - 0 Real Rovers (Mon, 31/03/97) Bloemfontein Celtic 3 - 0 Vaal Professionals (Mon, 31/03/97) Kaizer Chiefs 3 - 2 Manning Rangers (Mon, 31/03/97) Jomo Cosmos 0 - 0 Orlando Pirates (Mon, 31/03/97) Qwa Qwa Stars 1 - 1 Moroka Swallows (Mon, 31/03/97) Supersport United 1 - 1 Mamelodi Sundowns (Mon, 31/03/97) ROUND 27 Hellenic 1 - 0 Supersport United (Fri, 11/04/97) Manning Rangers 0 - 1 Jomo Cosmos (Fri, 11/04/97) Wits University 2 - 0 Qwa Qwa Stars (Fri, 11/04/97) Moroka Swallows 0 - 0 Kaizer Chiefs (Sat, 12/04/97) Orlando Pirates 1 - 1 Bloemfontein Celtic (Sun, 13/04/97) Real Rovers 3 - 3 Witbank Aces (Sun, 13/04/97) Cape Town Spurs 1 - 0 Amazulu (Sun, 13/04/97) Mamelodi Sundowns 0 - 0 Michau Warriors (Sun, 13/04/97) Vaal Professionals 1 - 2 Umtata Bucks (Sun, 13/04/97) ROUND 28 Cape Town Spurs 0 - 2 Real Rovers (Fri, 18/04/97) Amazulu 2 - 1 Supersport United (Sat, 19/04/97) Kaizer Chiefs 0 - 1 Wits University (Sat, 19/04/97) Umtata Bucks 0 - 0 Orlando Pirates (Sun, 20/04/97) Bloemfontein Celtic 0 - 1 Manning Rangers (Sun, 20/04/97) Jomo Cosmos 2 - 1 Moroka Swallows (Sun, 20/04/97) Qwa Qwa Stars 0 - 0 Mamelodi Sundowns (Sun, 20/04/97) Michau Warriors 2 - 1 Hellenic (Sun, 20/04/97) Witbank Aces 1 - 0 Vaal Professionals (Sun, 20/04/97) ROUND 33 Hellenic 1 - 1 Umtata Bucks (Fri, 23/05/97) Manning Rangers 2 - 0 Vaal Professionals (Fri, 23/05/97) Wits University 0 - 1 Cape Town Spurs (Fri, 23/05/97) Supersport United 1 - 3 Bloemfontein Celtic (Sat, 24/05/97) Moroka Swallows 0 - 0 Real Rovers (Sun, 25/05/97) Midweek fixtures Manning Rangers 1 - 0 Umtata Bucks (Wed, 28/05/97) Cape Town Spurs 1 - 1 Orlando Pirates (Wed, 28/05/97) Witbank Aces 1 - 7 Hellenic (Wed, 28/05/97) Weekend fixtures Cape Town Spurs 0 - 1 Mamelodi Sundowns (Sun, 01/06/97) Umtata Bucks 3 - 2 Wtbank Aces (Sun, 01/06/97) Qwa Qwa Stars 1 - 1 Kaizer Chiefs (Sun, 01/06/07) Mamelodi Sundowns 1 - 1 Orlando Pirates (Sun, 01/06/97) Final Table: 1. Manning Rangers 34 23 5 6 53 28 74 ** Champions ** 2. Kaizer Chiefs 34 18 12 4 56 23 66 3. Orlando Pirates 34 18 10 6 43 27 64 4. Umtata Bucks 34 16 9 9 45 29 57 5. Hellenic 34 16 7 11 46 31 56 6. Mamelodi Sundowns 34 13 11 10 35 30 50 7. Jomo Cosmos 34 11 16 7 32 27 49 8. Cape Town Spurs 34 14 6 14 40 45 48 9. Supersport United 34 10 16 8 40 35 46 10. Bloemfontein Celtic 34 13 5 16 38 39 44 11. Moroka Swallows 34 11 10 13 33 35 43 12. Wits University 34 11 8 15 27 31 41 13. Qwa Qwa Stars 34 10 8 16 39 49 38 14. Amazulu 34 9 10 15 34 46 37 14. Vaal Professionals 34 10 6 18 38 49 36 16. Real Rovers 34 8 12 14 35 46 36 17. Warriors 34 10 5 19 32 50 35 ** Relegated ** 18. Witbank Aces 34 4 7 23 26 72 19 ** Relegated ** Promoted : Santos and African Wanderers South Africa Cups 1997 Second Level 1996/97 First Division-Northern Stream 1.Black Leopards 42 26 10 6 86- 43 88 Promotion Playoff - - - - - - - - - - - - - - - - - - - - - - - - - 2.Ria Stars 42 26 7 8 83- 34 86 3.Dynamos 42 24 11 7 93- 42 83 4.R.P.Mines 42 23 11 8 59- 35 80 5.Morning Stars 42 23 6 13 78- 56 75 6.Pretoria Callies 42 22 9 11 66- 44 75 7.Tsakane Aces 42 20 15 7 69- 49 75 8.Acornbush 42 21 9 12 68- 38 72 9.Ravens 42 20 11 11 68- 47 71 10.Benfica 42 20 11 11 54- 40 71 11.Oriental 42 19 9 14 62- 55 66 12.Ferrometals 42 17 12 13 52- 54 63 13.Middelburg 42 18 8 16 63- 65 62 14.Witbank All Stars 42 14 10 18 44- 53 52 15.Witbank City 42 14 7 21 61- 80 49 16.Barberton 42 11 11 20 51- 81 44 17.Highlanders 42 11 8 23 42- 70 41 18.Barcelona 42 9 9 24 23- 34 36 19.BA XI 42 10 6 26 49- 99 36 20.Tihabane Swallows 42 7 9 26 35-102 28 21.Messina Kaizer XI 42 7 4 31 34- 63 25 22.Rabali 42 4 3 35 20- 57 15 First Division-Southern Stream 1.Thembisa Classic 42 27 9 8 82- 41 90 Promotion Playoff - - - - - - - - - - - - - - - - - - - - - - - - - 2.Rockridge 42 27 6 9 96- 41 87 3.Spartak 42 26 9 7 77- 30 87 4.Black Bees 42 26 9 7 82- 42 87 5.Sporting 42 24 10 8 84- 44 82 6.Robertsham 42 23 12 7 73- 39 81 7.Mighty Birds 42 19 11 12 76- 58 68 8.Stock Birds 42 19 10 13 60- 49 67 9.Botshabelo 42 18 11 13 64- 52 65 10.Northwest Lions 42 17 13 12 61- 58 64 11.Real Dragons 42 19 5 18 63- 63 62 12.Mighty Greens 42 18 7 17 63- 63 61 13.Alexandra 42 15 11 16 68- 50 56 14.Westbury Arsenals 42 14 9 19 63- 75 51 15.Hotspurs 42 14 8 20 43- 83 50 16.Ratanda 42 13 6 23 57- 90 45 17.Dodgers 42 11 9 22 42- 62 42 18.Young Ones 42 12 5 25 54- 90 41 19.Giant Aces 42 11 8 23 36- 73 41 20.Winter Aces 42 8 6 28 34- 67 30 21.Juventus 42 5 12 25 36- 67 27 22.Big XV 42 2 3 37 21- 85 9 First Division-Western Cape Stream: 1.Santos 30 26 1 3 88- 19 79 Promotion Playoff - - - - - - - - - - - - - - - - - - - - - - - - - 2.Seven Stars 30 24 3 3 77- 23 75 3.Trinitarians 30 17 5 8 52- 38 56 4.Avendale 30 16 4 10 48- 29 52 5.Wynberg St Johns 30 14 8 8 42- 30 50 6.Vasco da Gama 30 12 8 10 59- 45 44 7.Saxon Rovers 30 11 10 9 39- 39 43 8.FNB Rangers 30 13 2 15 51- 65 41 9.Mutual 30 12 4 14 40- 61 40 10.Edgemead 30 10 6 14 42- 46 36 11.Battswood 30 10 5 15 39- 41 35 12.Bellville 30 8 7 15 33- 45 31 13.Camps Bay 30 6 10 14 29- 53 28 14.Newtons 30 6 6 18 33- 56 24 15.Norway Parks 30 4 11 15 21- 52 23 16.Stephanians 30 3 6 21 23- 74 15 First Division-Natal/Eastern/Cape Stream 1.African Wanderers 30 24 3 3 85- 23 75 Promotion Playoff - - - - - - - - - - - - - - - - - - - - - - - - - 2.Royal Tigers 30 20 1 9 46- 34 61 3.Leeds United 30 18 6 6 45- 20 60 4.Blackburn 30 16 6 8 40- 26 54 5.Clermont Blizzards 29 15 8 6 47- 31 53 6.Bush Bucks 29 15 7 7 41- 31 52 7.Ntokozo 30 15 5 10 55- 28 50 8.Stanger 30 12 9 9 40- 38 45 9.Maritzburg 30 11 8 11 44- 39 41 10.Faku Chiefs 29 11 4 14 39- 42 37 11.Tembu Royals 30 7 9 14 30- 51 30 12.Crusaders 30 5 10 15 25- 56 25 13.Real Taj 30 6 5 19 22- 69 23 14.Newcastle 30 5 7 18 32- 56 22 15.Cala Vanguard 23 5 6 12 13- 27 21 16.Liverpool 30 1 4 25 30- 71 7 NB: no explanation known for inconsistencies and outstanding matches in the above table The 4 regional group winners enter a promotion playoff Final Table: 1.African Wanderers 6 3 3 0 8- 5 12 Promoted 2.Santos 6 2 4 0 11- 4 10 Promoted ------------------------------------------------- 3.Thembisa Classic 6 1 2 3 9- 8 5 4.Black Leopards 6 0 3 3 4- 15 31996.
Prepared and maintained by Ian King for the Rec.Sport.Soccer Statistics Foundation
Author: Ian King
(worldsoccer@btinternet.com)
Last updated: 27 May 2001
(C) Copyright Ian King and RSSSF 1999/2001
You are free to copy this document in whole or part provided that proper
acknowledgement is given to the author. All rights reserved.