Many errors corrected