more detailed parsing