some details corrected