slightly more robust