with some corrections