some modifications and corrections