update with more robust dot parser