changed warning_once to Base.warning_once