updated with robust