small errors improved