Corrections and additions by cobusc.