some corrections. not complete