first part (more or less) complete documentation