more robust approximation