more robust extraction