Final version - some mistakes corrected