some mistakes removed