use the Robust module (robust refactor complete)