many many small typos and fix