some parts were commented