Many many errors corrected.