made some corrections, still not complete