Final Table:
 1.FK Borac (Banja Luka)            33  21  4  8  59-31  67       Champions
 2.FK Sarajevo (Sarajevo)           33  18 11  4  53-24  65  [C]
 3.FK Velež (Mostar)                33  16 13  4  50-30  61
 4.NK Široki Brijeg (Široki Brijeg) 33  17  8  8  47-30  59  [3 2 0 1 4-3 6]
 5.HŠK Zrinjski (Mostar)            33  18  5 10  50-30  59  [3 1 0 2 3-4 3]
 6.FK Tuzla City                    33  13  9 11  36-35  48
 7.FK Željezničar (Sarajevo)        33  12  8 13  50-43  44
 8.FK Sloboda (Tuzla)               33  10  7 16  31-41  37
 9.FK Mladost (Doboj Kakanj)        33   8  6 19  26-57  30       Demoted
10.FK Krupa (Krupa na Vrbasu)       33   7  7 19  26-46  28  [P]  Demoted
-----------------------------------------------------------
11.FK Radnik (Bijeljina)            33   5 10 18  26-51  25
 -.FK Olimpic (Sarajevo)            33   7  4 22  22-58  25  [P]  Withdrew
NB: Olimpic withdrew after round 31 and had their last two matches awarded
    0-3 losses against them; they are to be relegated to the lowest level;
    Mladost and Krupa failed to obtain a license for the 2021/22 season;
    because of that, Radnik were reprieved from relegation
Round 1
[Aug 1]
Sloboda           1-1 Radnik            
Borac             6-0 Mladost           
Zrinjski          1-0 Olimpic           
Željezničar       3-0 Velež             
[Aug 2]
Krupa             0-2 Sarajevo          
Široki Brijeg     1-0 Tuzla City        
Round 2
[Aug 7]
Radnik            0-2 Željezničar       
Borac             2-0 Sloboda           
[Aug 8]
Mladost           2-2 Sarajevo          
Olimpic           1-2 Široki Brijeg     
Velež             2-0 Zrinjski          
Tuzla City        1-0 Krupa             
Round 3
[Aug 11]
Željezničar       2-1 Borac             
Široki Brijeg     2-2 Velež             
[Aug 12]
Sarajevo          1-0 Tuzla City        
Zrinjski          0-0 Radnik            
[Aug 18]
Krupa             1-0 Olimpic           
Sloboda           3-0 Mladost           
Round 4
[Aug 15]
Mladost           2-5 Tuzla City        
Sloboda           0-2 Željezničar       
Velež             2-0 Krupa             
[Aug 16]
Borac             1-0 Zrinjski          
Radnik            1-1 Široki Brijeg     
[Sep 16]
Olimpic           1-3 Sarajevo          
Round 5
[Aug 21]
Željezničar       0-1 Mladost           
[Aug 22]
Široki Brijeg     3-0 Borac             
Zrinjski          1-0 Sloboda           
[Aug 23]
Krupa             1-1 Radnik            
Tuzla City        3-2 Olimpic           
Sarajevo          1-1 Velež             
Round 6
[Aug 29]
Mladost           1-0 Olimpic           
Velež             1-1 Tuzla City        
Sloboda           3-0 Široki Brijeg     
[Aug 31]
Radnik            0-2 Sarajevo          
Borac             3-1 Krupa             
[Oct 28]
Željezničar       1-0 Zrinjski          
Round 7
[Sep 11]
Sarajevo          4-2 Borac             
[Sep 12]
Olimpic           2-1 Velež             
Zrinjski          2-0 Mladost           
[Sep 13]
Krupa             2-3 Sloboda           
Široki Brijeg     0-1 Željezničar       
Tuzla City        1-0 Radnik            
Round 8
[Sep 19]
Mladost           1-2 Velež             
Radnik            4-0 Olimpic           
Željezničar       0-1 Krupa             
[Sep 20]
Sloboda           2-3 Sarajevo          
[Sep 21]
Borac             2-0 Tuzla City        
[Nov 4]
Zrinjski          2-1 Široki Brijeg     
Round 9
[Sep 26]
Olimpic           1-4 Borac             
Velež             2-1 Radnik            
[Sep 27]
Tuzla City        2-1 Sloboda           
Široki Brijeg     2-1 Mladost           
[Sep 28]
Krupa             0-3 Zrinjski          
[Nov 4]
Sarajevo          1-1 Željezničar       
Round 10
[Oct 3]
Mladost           3-2 Radnik            
[Oct 4]
Sloboda           2-0 Olimpic           
Borac             2-0 Velež             
Široki Brijeg     1-0 Krupa             
[Oct 5]
Zrinjski          2-3 Sarajevo          
Željezničar       1-0 Tuzla City        
Round 11
[Oct 16]
Tuzla City        0-4 Zrinjski          
Radnik            1-0 Borac             
Velež             3-0 Sloboda           
[Oct 17]
Olimpic           0-3 Željezničar       
Krupa             0-1 Mladost           
Sarajevo          2-0 Široki Brijeg     
Round 12
[Oct 24]
Tuzla City        1-1 Široki Brijeg     
Olimpic           3-0 Zrinjski          
Velež             1-1 Željezničar       
[Oct 25]
Mladost           0-2 Borac             
Sarajevo          3-0 Krupa             
Radnik            1-1 Sloboda           
Round 13
[Oct 30]
Sarajevo          5-1 Mladost           
[Oct 31]
Krupa             0-1 Tuzla City        
Zrinjski          3-1 Velež             
Široki Brijeg     1-0 Olimpic           
Željezničar       3-1 Radnik            
[Nov 1]
Sloboda           1-0 Borac             
Round 14
[Nov 7]
Mladost           2-0 Sloboda           
Olimpic           1-1 Krupa             
[Nov 8]
Tuzla City        0-0 Sarajevo          
Velež             2-1 Široki Brijeg     
Radnik            0-2 Zrinjski          
[Nov 9]
Borac             4-3 Željezničar       
Round 15
[Nov 21]
Tuzla City        1-0 Mladost           
Željezničar       2-2 Sloboda           
Zrinjski          2-1 Borac             
[Nov 22]
Krupa             1-1 Velež             
Sarajevo          2-0 Olimpic           
Široki Brijeg     5-0 Radnik            
Round 16
[Nov 27]
Mladost           0-4 Željezničar       
[Nov 28]
Olimpic           3-2 Tuzla City        
Sloboda           0-0 Zrinjski          
Velež             0-0 Sarajevo          
Borac             1-1 Široki Brijeg     
[Nov 29]
Radnik            1-1 Krupa             
Round 17
[Dec 1]
Tuzla City        1-3 Velež             
Široki Brijeg     3-0 Sloboda           
[Dec 2]
Krupa             1-3 Borac             
Olimpic           0-2 Mladost           
Zrinjski          1-2 Željezničar       
Sarajevo          2-1 Radnik            
Round 18
[Dec 5]
Radnik            2-1 Tuzla City        
Velež             2-0 Olimpic           
[Dec 6]
Sloboda           2-0 Krupa             
Mladost           0-1 Zrinjski          
Željezničar       2-3 Široki Brijeg     
Borac             2-2 Sarajevo          
Round 19
[Dec 12]
Krupa             2-1 Željezničar       
Olimpic           1-0 Radnik            
Sarajevo          2-1 Sloboda           
[Dec 13]
Tuzla City        2-0 Borac             
Velež             4-0 Mladost           
Široki Brijeg     2-1 Zrinjski          
Round 20
[Feb 27]
Radnik            0-0 Velež             
Borac             2-0 Olimpic           
Zrinjski          1-0 Krupa             
[Feb 28]
Mladost           0-1 Široki Brijeg     
Sloboda           0-2 Tuzla City        
[Mar 1]
Željezničar       0-0 Sarajevo          
Round 21
[Mar 5]
Velež             2-0 Borac             
[Mar 6]
Krupa             1-1 Široki Brijeg     
Tuzla City        2-0 Željezničar       
Sarajevo          0-1 Zrinjski          
[Mar 7]
Radnik            3-1 Mladost           
[Mar 8]
Olimpic           2-0 Sloboda           
Round 22
[Mar 13]
Mladost           1-0 Krupa             
Sloboda           1-2 Velež             
[Mar 14]
Zrinjski          1-2 Tuzla City        
Široki Brijeg     1-0 Sarajevo          
[Mar 15]
Željezničar       0-1 Olimpic           
Borac             2-0 Radnik            
Round 23
[Mar 20]
Borac             1-0 Mladost           
Velež             2-2 Radnik            
Zrinjski          3-1 Sloboda           
[Mar 21]
Sarajevo          1-0 Krupa             
Široki Brijeg     3-0 Olimpic           
Željezničar       0-0 Tuzla City        
Round 24
[Apr 2]
Mladost           1-1 Zrinjski          
Radnik            1-3 Borac             
[Apr 3]
Krupa             1-1 Tuzla City        
Sloboda           1-0 Željezničar       
Sarajevo          1-0 Široki Brijeg     
[Apr 5]
Olimpic           1-1 Velež             
Round 25
[Apr 10]
Željezničar       4-4 Mladost           
Zrinjski          3-0 Radnik            
[Apr 11]
Tuzla City        1-0 Sloboda           
Široki Brijeg     2-2 Krupa             
Borac             3-0 Olimpic           
[Apr 12]
Velež             1-0 Sarajevo          
Round 26
[Apr 17]
Krupa             1-0 Sloboda           
Mladost           2-0 Tuzla City        
Sarajevo          0-2 Borac             
[Apr 18]
Olimpic           0-3 Zrinjski          
Radnik            1-1 Željezničar       
Široki Brijeg     0-2 Velež             
Round 27
[Apr 24]
Velež             2-1 Krupa             
Sloboda           1-0 Mladost           
Zrinjski          1-1 Sarajevo          
[Apr 25]
Tuzla City        2-0 Radnik            
Željezničar       1-2 Olimpic           
Borac             2-1 Široki Brijeg     
Round 28
[Apr 30]
Radnik            1-2 Sloboda           
Velež             1-1 Borac             
[May 1]
Krupa             3-0 Mladost           
Sarajevo          3-1 Željezničar       
Široki Brijeg     1-0 Zrinjski          
[May 3]
Olimpic           1-1 Tuzla City        
Round 29
[May 7]
Tuzla City        1-1 Sarajevo          
Željezničar       1-3 Široki Brijeg     
[May 8]
Mladost           0-0 Radnik            
Sloboda           2-0 Olimpic           
Borac             1-0 Krupa             
Zrinjski          1-1 Velež             
Round 30
[May 11]
Sarajevo          0-0 Sloboda           
Borac             2-1 Zrinjski          
[May 12]
Krupa             1-0 Radnik            
Olimpic           0-0 Mladost           
Široki Brijeg     0-0 Tuzla City        
Velež             2-2 Željezničar       
Round 31 [May 16]
Mladost           0-0 Sarajevo          
Tuzla City        1-1 Velež             
Zrinjski          3-1 Krupa             
Radnik            1-0 Olimpic           
Sloboda           1-1 Široki Brijeg     
Željezničar       1-2 Borac             
NB: Olimpic withdrew from the league before round 32 and have their remaining
    tow matches awarded 0-3 against them
Round 32 [May 23]
Borac             2-0 Tuzla City        
Krupa             awd Olimpic           [awarded 3-0, Olimpic withdrew]
Sarajevo          3-0 Radnik            
Zrinjski          4-2 Željezničar       
Široki Brijeg     1-0 Mladost           
Velež             2-0 Sloboda           
Round 33 [May 30]
Mladost           0-1 Velež             
Tuzla City        1-2 Zrinjski          
Olimpic           awd Sarajevo          [awarded 0-3, Olimpic withdrew]
Radnik            0-2 Široki Brijeg     
Sloboda           0-0 Borac             
Željezničar       3-0 Krupa             
Final Table:
 1.FK Borac (Banja Luka)            33  21  4  8  59-31  67       Champions
 2.FK Sarajevo (Sarajevo)           33  18 11  4  53-24  65  [C]
 3.FK Velež (Mostar)                33  16 13  4  50-30  61
 4.NK Široki Brijeg (Široki Brijeg) 33  17  8  8  47-30  59  [3 2 0 1 4-3 6]
 5.HŠK Zrinjski (Mostar)            33  18  5 10  50-30  59  [3 1 0 2 3-4 3]
 6.FK Tuzla City                    33  13  9 11  36-35  48
 7.FK Željezničar (Sarajevo)        33  12  8 13  50-43  44
 8.FK Sloboda (Tuzla)               33  10  7 16  31-41  37
 9.FK Mladost (Doboj Kakanj)        33   8  6 19  26-57  30       Demoted
10.FK Krupa (Krupa na Vrbasu)       33   7  7 19  26-46  28  [P]  Demoted
-----------------------------------------------------------
11.FK Radnik (Bijeljina)            33   5 10 18  26-51  25
 -.FK Olimpic (Sarajevo)            33   7  4 22  22-58  25  [P]  Withdrew
NB: Olimpic withdrew after round 31 and had their last two matches awarded
    0-3 losses against them; they are to be relegated to the lowest level;
    Mladost and Krupa failed to obtain a license for the 2021/22 season;
    because of that, Radnik were reprieved from relegation
BiH Kup BiH Kup Quarterfinals [Mar 10] Sarajevo 1-0 Zrinjski Široki Brijeg 0-2 Borac Tuzla City 1-1 Željezničar [3-2 pen] Klis 1-0 Zvijezda 09 Semifinals First Legs [Apr 7] Tuzla City 0-1 Sarajevo Borac 4-1 Klis Second Legs [Apr 21] Sarajevo 2-1 Tuzla City Klis 1-2 Borac Final [May 26] Sarajevo 0-0 Borac [4-1 pen]
Prva Liga FBiH | Prva Liga RS 
Prva Liga FBiH
Final Table:
 1.HŠK Posušje (Posušje)            30  18  7  5  49-15  61  [P]  Promoted
-----------------------------------------------------------
 2.NK Tošk (Tešanj)                 30  16  6  8  48-28  54 
 3.FK Rudar (Kakanj)                30  15  5 10  43-31  50 
 4.FK Goražde                       30  14  7  9  43-37  49 
 5.NK Zvijezda (Gradačac)           30  14  6 10  44-31  48 
 6.NK Bratstvo (Gračanica)          30  14  6 10  43-30  48 
 7.NK GOŠK (Gabela)                 30  12  7 11  38-27  43 
 8.NK Jedinstvo (Bihać)             30  13  4 13  26-36  43 
 9.FK Radnik (Hadžići)              30  11  7 12  32-36  40 
10.FK Budućnost (Banovići)          30  12  4 14  38-49  40 
11.NK Vis Simm-Bau (Kosova)         30  11  6 13  42-37  39  [P]
12.NK Travnik (Travnik)             30  10  9 11  31-37  39 
13.FK Igman (Konjic)                30  10  7 13  38-35  37  
14.HNK Orašje                       30  10  6 14  43-51  36 
-----------------------------------------------------------
15.HNK Čapljina                     30  10  6 14  38-49  36       Relegated
16.NK Slaven (Živinice)             30   1  5 24  17-84   8       Relegated
Prva Liga RS
Final Table:
 1.FK Rudar (Prijedor)              30  19  6  5  51-20  63       Promoted    
-----------------------------------------------------------
 2.FK Leotar (Trebinje)             30  14 12  4  47-27  54  [P]  Promoted
 3.FK Zvijezda 09 (Stanišić)        30  15  8  7  50-33  53  
 4.FK Željezničar ST (Banja Luka)   30  12 10  8  46-37  46  
 5.FK Tekstilac (Derventa)          30  13  6 11  35-36  45  
 6.FK Sloboda (Novi Grad)           30  12  8 10  25-27  44  [P]
 7.FK Alfa Modriča                  30  12  7 11  52-37  43  
 8.FK Kozara (Gradiška)             30  11  9 10  34-28  42  
 9.FK Slavija (Istočno Sarajevo)    30  10 11  9  30-33  41  
10.Borac Kozarska Dubica            30  11  6 13  35-38  39  [P]
11.SDFK Sloga (Doboj)               30   9 11 10  34-29  38  [P]
12.FK Ljubić (Prnjavor)             30  11  5 14  45-45  38  [P]
13.FK Drina (Zvornik)               30  10  8 12  39-50  38  [P]
14.FK Sutjeska (Foča)               30  10  5 15  39-40  35  [P]
15.FK Podrinje (Janja)              30   5  6 19  17-56  21
-----------------------------------------------------------
16.FK Jedinstvo (Brčko)             30   4  6 20  29-72  18       Relegated
NB: Leotar (Trebinje) were promoted because Krupa and Mladost failed to
    obtain a top level license
Druga Liga FBiH | Druga Liga RS Druga Liga FBiH Druga Liga FBiH Jug | Druga Liga FBiH Sjever | Druga Liga FBiH Zapad | Druga Liga FBiH Centar | Baraž za Popunu Druga Liga FBiH Jug Final Table: 1.NK Ljubuški 24 18 4 2 78-17 58 2.FK Klis (Buturović Polje) 24 14 4 6 49-22 46 3.HNK Tomislav (Tomislavgrad) 24 14 2 8 59-37 44 Promotion Playoff 4.HNK Sloga (Gji. Vakuf-Uskoplje) 24 13 5 6 51-37 44 5.HNK Grude (Grude) 24 14 1 9 35-28 43 6.HNK Neum 24 12 5 7 50-43 41 7.NK Troglav 1918 (Livno) 24 11 4 9 42-35 37 8.FK Turbina (Jablanica) 24 8 6 10 43-47 30 9.HNK Rama (Rama) 24 9 3 12 46-57 30 10.HNK Brotnjo (Čitluk) 24 5 6 13 26-44 21 11.HNK Stolac 24 6 1 17 25-59 19 12.FK Bjelopoljac (Mostar) 24 5 3 16 30-81 18 13.NK Kamešnica (Podhum (Livno)) 24 3 4 17 25-52 13 Druga Liga FBiH Sjever Final Table: 1.OFK Gradina (Srebrenik) 30 24 4 2 101-24 76 Promotion Playoff 2.FK Gornji Rahić (Gornji Rahić) 30 18 3 9 77-39 57 [P] 3.FK Seona (Seona) 30 15 4 11 68-39 49 4.NK Mladost (Malešići) 30 14 6 10 60-48 48 5.NK Odžak 102 (Odžak) 30 15 3 12 50-53 48 6.FK Dizdaruša (Brčko) 30 15 2 13 67-56 47 [P] 7.FK Bosna (Mionica) 30 14 4 12 66-55 46 8.NK Svatovac (Poljice) 30 14 4 12 58-53 46 9.NK Dinamo (Donja Mahala) 30 15 1 14 46-60 46 10.FK Radnički (Lukavac) 30 14 3 13 60-41 45 11.NK Prokosovići (Prokosovići) 30 13 4 13 52-61 43 12.NK Orahovica 74 30 12 4 14 66-62 40 13.FK Bosna (Kalesija) 30 12 3 15 55-68 39 14.FK Priluk (Priluk) 30 10 5 15 49-59 32 [-3] 15.FK Lokomotiva (Miričina) 30 5 2 23 35-95 17 16.NK Mramor (Mramor) 30 3 2 25 31-128 11 Druga Liga FBiH Zapad Final Tables: Grupa Zapad 1 1.FK Rudar (Han Bila) 16 10 3 3 33-19 33 2.NK Vitez (Vitez) 16 10 1 5 29-14 31 3.FK Vitez (Vitez) 16 9 2 5 31-17 29 4.NK Iskra (Bugojno) 16 8 3 5 22-21 27 5.NK Kiseljak (Kiseljak) 16 5 3 8 16-26 18 6.NK Vlašić (Turbe) 16 5 2 9 30-37 17 7.NK Busovača (Busovača) 16 5 2 9 18-34 17 8.FK Radnik Donji Vakuf 16 3 7 6 22-26 16 9.NK Novi Travnik 16 4 3 9 24-31 15 Grupa Zapad 2 1.NK Podgrmeč (Sanski Most) 18 13 3 2 42-13 42 Promotion Playoff 2.NK Rudar (Kamengrad) 18 9 3 6 33-24 30 [P] 3.FK Krajina (Cazin) 18 9 3 6 34-27 30 4.NK Brekovica 78 (Brekovica) 18 7 2 9 21-23 23 5.NK Krajišnik (Velika Kladuša) 18 7 2 9 29-41 23 6.NK Sloga (Bosanska Otoka) 18 5 3 10 21-26 18 7.NK Vitez Bužim 18 4 2 12 18-44 14 Druga Liga FBiH Centar Final Table: 1.NK Borac (Jelah) 30 20 4 6 63-26 64 Promotion Playoff 2.NK Stupčanica (Olovo) 30 19 6 5 63-28 63 3.FK Famos (Hrasnica) 30 16 8 6 62-40 56 4.NK Krivaja (Zavidovići) 30 15 4 11 56-41 49 5.NK Moševac 30 13 10 7 49-39 49 6.NK Bosna (Visoko) 30 13 8 9 50-41 47 7.NK Kolina (Ustikolina) 30 13 6 11 45-36 45 [P] 8.FK Unis (Vogošća) 30 12 6 12 42-38 42 [P] 9.NK Usora (Žabljak) 30 11 7 12 37-47 40 10.NK Azot (Vitkovići) 30 10 8 12 39-46 38 11.NK Natron (Maglaj) 30 10 7 13 40-40 37 12.FK Rudar (Breza) 30 9 10 11 49-56 37 [P] 13.FK Mošćanica (Sarajevo) 30 8 7 15 22-39 31 14.NK Pobjeda (Tešanjka) 30 8 6 16 29-46 27 [-3] 15.NK Ilijaš (Ilijaš) 30 5 5 20 35-65 20 16.NK Sašk 1910 Napredak (Sarajevo) 30 6 2 22 37-90 20 Baraž za Popunu First Legs [Jun 9] Podgrmeč 0-1 Tomislav Borac 1-1 Gradina Second Legs [Jun 12] Tomislav 2-0 Podgrmeč Gradina 5-1 Borac NB: OFK Gradina (Srebrenik) and HNK Tomislav (Tomislavgrad) promoted Druga Liga RS Druga Liga RS Zapad | Druga Liga RS Istok Druga Liga RS Zapad Tables at abandonment: Promotion Group 1.FK Omarska (Omarska) 21 15 3 3 62-27 48 Promoted ----------------------------------------------------------- 2.FK Sloboda (Mrkonjić Grad) 21 12 3 6 51-26 39 3.FK Progres (Kneževo) 21 12 1 8 55-47 37 [P] 4.FK Jedinstvo (Žeravica) 21 10 3 8 42-41 33 5.FK Borac (Šamac) 21 9 5 7 42-37 32 6.FK Čelinac 20 7 4 9 27-31 25 [P] 7.FK Dubrave (Gradiška) 21 7 4 10 26-42 25 Relegation Group 8.FK Brdo (Hambarine) 20 7 4 9 31-36 25 [P] 9.FK Sloga (Trn) 19 7 3 9 26-36 24 10.FK Laktaši (Laktaši) 20 7 2 11 30-38 23 11.FK Sloga (Srbac) 20 6 4 10 31-32 22 12.OFK Polet 1926 (Brod) 20 6 4 10 28-41 22 13.FK Proleter (Teslić) 19 6 2 11 23-40 20 Druga Liga RS Istok Tables at abandonment: Promotion Group 1.FK Budućnost (Pilica) 25 17 1 7 51-31 52 Promoted ----------------------------------------------------------- 2.FK Famos (Istočna Ilidža) 25 13 7 5 37-15 46 3.OFK Glasinac 2011 (Sokolac) 25 12 4 9 46-36 40 4.FK Vlasenica 25 12 3 10 48-27 39 [P] 5.FK Guber (Srebrenica) 25 11 5 9 29-33 38 [P] 6.UFK Ilićka 01 (Brčko) 25 11 4 10 38-47 37 7.FK Drina HE (Višegrad) 25 10 4 11 40-46 34 8.FK Milići 25 10 2 13 38-45 32 Relegation Group 9.FK Romanija (Pale) 25 11 4 10 56-51 37 10.FK Jedinstvo (Brodac) 25 10 4 11 41-36 34 11.FK Velež (Nevesinje) 25 10 4 11 36-35 34 12.FK Mladost (Gacko) 25 10 4 11 36-39 34 13.FK Mladost (Rogatica) 25 9 5 11 26-32 32 14.FK Proleter (Dvorovi) 25 9 2 14 40-48 29 15.FK Stakorina (Čajniče) 25 7 7 11 26-41 28 16.FK Bratstvo (Bratunac) 25 7 2 16 31-57 23 [P]
Thanks to Martin Arenlind and Hans Schöggl
Prepared and maintained by Karel Stokkermans for the Rec.Sport.Soccer Statistics Foundation
Author: Karel Stokkermans
Last updated: 30 Jun 2022
(C) Copyright Karel Stokkermans and RSSSF 2020/22
You are free to copy this document in whole or part provided that proper
acknowledgement is given to the author. All rights reserved.