some mistakes fixed