use try instead of respond_to?