added robustness